1 diff -Npruw stock-framework/smali/android/app/Activity.smali pdroid-framework/smali/android/app/Activity.smali
2 --- stock-framework/smali/android/app/Activity.smali 2013-08-15 23:20:15.056304566 -0500
3 +++ pdroid-framework/smali/android/app/Activity.smali 2013-08-15 23:20:05.864304838 -0500
6 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
8 - const-string v1, "mLoadersStarted="
9 + const-string/jumbo v1, "mLoadersStarted="
11 invoke-virtual {p3, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
15 iget-object v1, p0, Landroid/app/Activity;->mLoaderManager:Landroid/app/LoaderManagerImpl;
20 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
24 invoke-virtual {v1, v2, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
28 iget-object v1, p0, Landroid/app/Activity;->mFragments:Landroid/app/FragmentManagerImpl;
30 invoke-virtual {v1, p1, p2, p3, p4}, Landroid/app/FragmentManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
31 diff -Npruw stock-framework/smali/android/app/BackStackRecord.smali pdroid-framework/smali/android/app/BackStackRecord.smali
32 --- stock-framework/smali/android/app/BackStackRecord.smali 2013-08-15 23:20:15.392304556 -0500
33 +++ pdroid-framework/smali/android/app/BackStackRecord.smali 2013-08-15 23:20:06.180304829 -0500
35 .method dump(Ljava/lang/String;Ljava/io/PrintWriter;Z)V
41 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
43 - const-string v5, "mName="
44 + const-string/jumbo v5, "mName="
46 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
50 iget v5, p0, Landroid/app/BackStackRecord;->mTransition:I
55 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
59 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
63 iget v5, p0, Landroid/app/BackStackRecord;->mEnterAnim:I
68 iget v5, p0, Landroid/app/BackStackRecord;->mExitAnim:I
75 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
77 const-string v5, "mEnterAnim=#"
80 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
84 iget v5, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
89 iget v5, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
96 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
98 const-string/jumbo v5, "mPopEnterAnim=#"
101 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
105 iget v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
107 - if-nez v5, :cond_9e
108 + if-nez v5, :cond_9f
110 iget-object v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
112 - if-eqz v5, :cond_b9
113 + if-eqz v5, :cond_ba
117 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
119 const-string v5, "mBreadCrumbTitleRes=#"
120 @@ -889,16 +889,16 @@
122 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
126 iget v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
128 - if-nez v5, :cond_c1
129 + if-nez v5, :cond_c2
131 iget-object v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
133 - if-eqz v5, :cond_dc
134 + if-eqz v5, :cond_dd
138 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
140 const-string v5, "mBreadCrumbShortTitleRes=#"
141 @@ -921,10 +921,10 @@
143 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
147 iget-object v5, p0, Landroid/app/BackStackRecord;->mHead:Landroid/app/BackStackRecord$Op;
149 - if-eqz v5, :cond_1f8
150 + if-eqz v5, :cond_1f9
152 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
159 - if-eqz v4, :cond_1f8
161 + if-eqz v4, :cond_1f9
163 iget v5, v4, Landroid/app/BackStackRecord$Op;->cmd:I
167 move-result-object v0
171 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
173 const-string v5, " Op #"
174 @@ -1004,17 +1004,17 @@
176 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
178 - if-eqz p3, :cond_188
179 + if-eqz p3, :cond_189
181 iget v5, v4, Landroid/app/BackStackRecord$Op;->enterAnim:I
183 - if-nez v5, :cond_141
184 + if-nez v5, :cond_142
186 iget v5, v4, Landroid/app/BackStackRecord$Op;->exitAnim:I
188 - if-eqz v5, :cond_160
189 + if-eqz v5, :cond_161
193 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
195 const-string v5, "enterAnim=#"
196 @@ -1041,16 +1041,16 @@
198 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
202 iget v5, v4, Landroid/app/BackStackRecord$Op;->popEnterAnim:I
204 - if-nez v5, :cond_168
205 + if-nez v5, :cond_169
207 iget v5, v4, Landroid/app/BackStackRecord$Op;->popExitAnim:I
209 - if-eqz v5, :cond_188
210 + if-eqz v5, :cond_189
214 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
216 const-string/jumbo v5, "popEnterAnim=#"
217 @@ -1077,10 +1077,10 @@
219 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
223 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
225 - if-eqz v5, :cond_1f2
226 + if-eqz v5, :cond_1f3
228 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
230 @@ -1088,18 +1088,18 @@
234 - if-lez v5, :cond_1f2
235 + if-lez v5, :cond_1f3
241 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
243 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
247 - if-ge v1, v5, :cond_1f2
248 + if-ge v1, v5, :cond_1f3
250 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
252 @@ -1111,13 +1111,13 @@
256 - if-ne v5, v6, :cond_1da
257 + if-ne v5, v6, :cond_1db
259 const-string v5, "Removed: "
261 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
265 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
267 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
268 @@ -1128,56 +1128,56 @@
270 add-int/lit8 v1, v1, 0x1
277 const-string v0, "NULL"
284 const-string v0, "ADD"
291 const-string v0, "REPLACE"
298 const-string v0, "REMOVE"
305 const-string v0, "HIDE"
312 const-string v0, "SHOW"
319 const-string v0, "DETACH"
326 const-string v0, "ATTACH"
332 - if-nez v1, :cond_1e1
334 + if-nez v1, :cond_1e2
336 const-string v5, "Removed:"
338 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
342 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
344 const-string v5, " #"
345 @@ -1190,30 +1190,28 @@
347 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
354 iget-object v4, v4, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
356 add-int/lit8 v3, v3, 0x1
388 diff -Npruw stock-framework/smali/android/app/ContextImpl$10.smali pdroid-framework/smali/android/app/ContextImpl$10.smali
389 --- stock-framework/smali/android/app/ContextImpl$10.smali 2013-08-15 23:20:15.396304556 -0500
390 +++ pdroid-framework/smali/android/app/ContextImpl$10.smali 2013-08-15 23:20:06.184304828 -0500
394 .method public createStaticService()Ljava/lang/Object;
398 - const-string v1, "connectivity"
399 + const-string v2, "connectivity"
401 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
402 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
404 move-result-object v0
406 - new-instance v1, Landroid/net/ConnectivityManager;
407 + const-string v2, "ContextImpl"
409 + const-string v3, "PDroid:ContextImpl: returning PrivacyConnectivityManager"
411 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
413 invoke-static {v0}, Landroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
415 - move-result-object v2
416 + move-result-object v1
418 + new-instance v2, Landroid/privacy/surrogate/PrivacyConnectivityManager;
420 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
422 + move-result-object v3
424 - invoke-direct {v1, v2}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
425 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyConnectivityManager;-><init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
430 diff -Npruw stock-framework/smali/android/app/ContextImpl$22.smali pdroid-framework/smali/android/app/ContextImpl$22.smali
431 --- stock-framework/smali/android/app/ContextImpl$22.smali 2013-08-15 23:20:15.400304556 -0500
432 +++ pdroid-framework/smali/android/app/ContextImpl$22.smali 2013-08-15 23:20:06.184304828 -0500
436 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
440 const-string v1, "location"
444 move-result-object v0
446 - new-instance v1, Landroid/location/LocationManager;
447 + const-string v1, "ContextImpl"
449 + const-string v2, "PDroid:ContextImpl: returning PrivacyLocationManager"
451 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
453 + new-instance v1, Landroid/privacy/surrogate/PrivacyLocationManager;
455 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
457 move-result-object v2
459 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
460 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
462 + move-result-object v3
464 + invoke-direct {v1, v2, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
468 diff -Npruw stock-framework/smali/android/app/ContextImpl$31.smali pdroid-framework/smali/android/app/ContextImpl$31.smali
469 --- stock-framework/smali/android/app/ContextImpl$31.smali 2013-08-15 23:20:15.404304556 -0500
470 +++ pdroid-framework/smali/android/app/ContextImpl$31.smali 2013-08-15 23:20:06.188304828 -0500
472 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
475 - new-instance v0, Landroid/telephony/TelephonyManager;
476 + const-string v0, "ContextImpl"
478 + const-string v1, "PDroid:ContextImpl: returning PrivacyTelephonyManager"
480 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
482 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
484 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
486 move-result-object v1
488 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
489 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
493 diff -Npruw stock-framework/smali/android/app/ContextImpl$36.smali pdroid-framework/smali/android/app/ContextImpl$36.smali
494 --- stock-framework/smali/android/app/ContextImpl$36.smali 2013-08-15 23:20:15.404304556 -0500
495 +++ pdroid-framework/smali/android/app/ContextImpl$36.smali 2013-08-15 23:20:06.188304828 -0500
498 move-result-object v1
500 - new-instance v2, Landroid/net/wifi/WifiManager;
501 + const-string v2, "ContextImpl"
503 + const-string v3, "PDroid:ContextImpl: returning PrivacyWifiManager"
505 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
507 + new-instance v2, Landroid/privacy/surrogate/PrivacyWifiManager;
509 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
511 move-result-object v3
513 - invoke-direct {v2, v3, v1}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
514 + invoke-direct {v2, v3, v1}, Landroid/privacy/surrogate/PrivacyWifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
518 diff -Npruw stock-framework/smali/android/app/ContextImpl$38.smali pdroid-framework/smali/android/app/ContextImpl$38.smali
519 --- stock-framework/smali/android/app/ContextImpl$38.smali 2013-08-15 23:20:15.408304556 -0500
520 +++ pdroid-framework/smali/android/app/ContextImpl$38.smali 2013-08-15 23:20:06.188304828 -0500
522 .class final Landroid/app/ContextImpl$38;
523 -.super Landroid/app/ContextImpl$ServiceFetcher;
524 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
525 .source "ContextImpl.java"
529 .method constructor <init>()V
532 - invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;-><init>()V
533 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
540 -.method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
542 +.method public createStaticService()Ljava/lang/Object;
545 - #getter for: Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
546 - invoke-static {p1}, Landroid/app/ContextImpl;->access$100(Landroid/app/ContextImpl;)Landroid/view/Display;
547 + const-string v2, "ContextImpl"
549 - move-result-object v0
550 + const-string v3, "PDroid:ContextImpl: Creating static privacy service"
552 - if-nez v0, :cond_17
553 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
555 - invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
556 + const-string/jumbo v2, "privacy"
558 - move-result-object v2
559 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
561 - const-string v3, "display"
562 + move-result-object v0
564 - invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
565 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
567 move-result-object v1
569 - check-cast v1, Landroid/hardware/display/DisplayManager;
572 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
574 - invoke-virtual {v1, v2}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
576 - move-result-object v0
577 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
580 - new-instance v2, Landroid/view/WindowManagerImpl;
581 + move-result-object v3
583 - invoke-direct {v2, v0}, Landroid/view/WindowManagerImpl;-><init>(Landroid/view/Display;)V
584 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
588 diff -Npruw stock-framework/smali/android/app/ContextImpl$39.smali pdroid-framework/smali/android/app/ContextImpl$39.smali
589 --- stock-framework/smali/android/app/ContextImpl$39.smali 2013-08-15 23:20:15.408304556 -0500
590 +++ pdroid-framework/smali/android/app/ContextImpl$39.smali 2013-08-15 23:20:06.188304828 -0500
595 -.method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
597 +.method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
600 - const-string/jumbo v2, "user"
602 - invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
603 + #getter for: Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
604 + invoke-static {p1}, Landroid/app/ContextImpl;->access$100(Landroid/app/ContextImpl;)Landroid/view/Display;
606 move-result-object v0
608 - invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
609 + if-nez v0, :cond_17
611 + invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
613 + move-result-object v2
615 + const-string v3, "display"
617 + invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
619 move-result-object v1
621 - new-instance v2, Landroid/os/UserManager;
622 + check-cast v1, Landroid/hardware/display/DisplayManager;
626 + invoke-virtual {v1, v2}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
628 + move-result-object v0
631 + new-instance v2, Landroid/view/WindowManagerImpl;
633 - invoke-direct {v2, p1, v1}, Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
634 + invoke-direct {v2, v0}, Landroid/view/WindowManagerImpl;-><init>(Landroid/view/Display;)V
638 diff -Npruw stock-framework/smali/android/app/ContextImpl$3.smali pdroid-framework/smali/android/app/ContextImpl$3.smali
639 --- stock-framework/smali/android/app/ContextImpl$3.smali 2013-08-15 23:20:15.408304556 -0500
640 +++ pdroid-framework/smali/android/app/ContextImpl$3.smali 2013-08-15 23:20:06.188304828 -0500
644 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
648 const-string v2, "account"
652 move-result-object v1
654 - new-instance v2, Landroid/accounts/AccountManager;
655 + const-string v2, "ContextImpl"
657 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
658 + const-string v3, "PDroid:ContextImpl: returning PrivacyAccountManager rather than AccountManager"
660 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
662 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
664 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
668 diff -Npruw stock-framework/smali/android/app/ContextImpl$40.smali pdroid-framework/smali/android/app/ContextImpl$40.smali
669 --- stock-framework/smali/android/app/ContextImpl$40.smali 2013-08-15 23:20:15.408304556 -0500
670 +++ pdroid-framework/smali/android/app/ContextImpl$40.smali 2013-08-15 23:20:06.188304828 -0500
672 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
675 - const-string v2, "appops"
676 + const-string/jumbo v2, "user"
678 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
680 move-result-object v0
682 - invoke-static {v0}, Lcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
683 + invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
685 move-result-object v1
687 - new-instance v2, Landroid/app/AppOpsManager;
688 + new-instance v2, Landroid/os/UserManager;
690 - invoke-direct {v2, p1, v1}, Landroid/app/AppOpsManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IAppOpsService;)V
691 + invoke-direct {v2, p1, v1}, Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
695 diff -Npruw stock-framework/smali/android/app/ContextImpl$41.smali pdroid-framework/smali/android/app/ContextImpl$41.smali
696 --- stock-framework/smali/android/app/ContextImpl$41.smali 2013-08-15 23:20:15.408304556 -0500
697 +++ pdroid-framework/smali/android/app/ContextImpl$41.smali 2013-08-15 23:20:06.192304828 -0500
699 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
702 - invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
703 + const-string v2, "appops"
705 - move-result-object v0
706 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
708 - new-instance v1, Landroid/app/ProfileManager;
709 + move-result-object v0
711 - iget-object v2, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
712 + invoke-static {v0}, Lcom/android/internal/app/IAppOpsService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsService;
714 - invoke-virtual {v2}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
715 + move-result-object v1
717 - move-result-object v2
718 + new-instance v2, Landroid/app/AppOpsManager;
720 - invoke-direct {v1, v0, v2}, Landroid/app/ProfileManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
721 + invoke-direct {v2, p1, v1}, Landroid/app/AppOpsManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IAppOpsService;)V
726 diff -Npruw stock-framework/smali/android/app/ContextImpl$42.smali pdroid-framework/smali/android/app/ContextImpl$42.smali
727 --- stock-framework/smali/android/app/ContextImpl$42.smali 2013-08-15 23:20:15.408304556 -0500
728 +++ pdroid-framework/smali/android/app/ContextImpl$42.smali 2013-08-15 23:20:06.192304828 -0500
732 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
736 - iget-object v0, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
738 - invoke-virtual {v0}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
739 + invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
741 move-result-object v0
743 - invoke-static {p1, v0}, Landroid/net/wimax/WimaxHelper;->createWimaxService(Landroid/content/Context;Landroid/os/Handler;)Ljava/lang/Object;
744 + new-instance v1, Landroid/app/ProfileManager;
746 - move-result-object v0
747 + iget-object v2, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
749 + invoke-virtual {v2}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
751 + move-result-object v2
753 + invoke-direct {v1, v0, v2}, Landroid/app/ProfileManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
758 diff -Npruw stock-framework/smali/android/app/ContextImpl$43.smali pdroid-framework/smali/android/app/ContextImpl$43.smali
759 --- stock-framework/smali/android/app/ContextImpl$43.smali 2013-08-15 23:20:15.408304556 -0500
760 +++ pdroid-framework/smali/android/app/ContextImpl$43.smali 2013-08-15 23:20:06.192304828 -0500
764 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
768 - const-string v2, "fm_receiver"
769 + iget-object v0, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
771 - invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
772 + invoke-virtual {v0}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
774 move-result-object v0
776 - invoke-static {v0}, Lcom/stericsson/hardware/fm/IFmReceiver$Stub;->asInterface(Landroid/os/IBinder;)Lcom/stericsson/hardware/fm/IFmReceiver;
777 + invoke-static {p1, v0}, Landroid/net/wimax/WimaxHelper;->createWimaxService(Landroid/content/Context;Landroid/os/Handler;)Ljava/lang/Object;
779 - move-result-object v1
781 - new-instance v2, Lcom/stericsson/hardware/fm/FmReceiverImpl;
783 - invoke-direct {v2, v1}, Lcom/stericsson/hardware/fm/FmReceiverImpl;-><init>(Lcom/stericsson/hardware/fm/IFmReceiver;)V
784 + move-result-object v0
789 diff -Npruw stock-framework/smali/android/app/ContextImpl$44.smali pdroid-framework/smali/android/app/ContextImpl$44.smali
790 --- stock-framework/smali/android/app/ContextImpl$44.smali 2013-08-15 23:20:15.408304556 -0500
791 +++ pdroid-framework/smali/android/app/ContextImpl$44.smali 2013-08-15 23:20:06.192304828 -0500
793 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
796 - const-string v2, "fm_transmitter"
797 + const-string v2, "fm_receiver"
799 invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
801 move-result-object v0
803 - invoke-static {v0}, Lcom/stericsson/hardware/fm/IFmTransmitter$Stub;->asInterface(Landroid/os/IBinder;)Lcom/stericsson/hardware/fm/IFmTransmitter;
804 + invoke-static {v0}, Lcom/stericsson/hardware/fm/IFmReceiver$Stub;->asInterface(Landroid/os/IBinder;)Lcom/stericsson/hardware/fm/IFmReceiver;
806 move-result-object v1
808 - new-instance v2, Lcom/stericsson/hardware/fm/FmTransmitterImpl;
809 + new-instance v2, Lcom/stericsson/hardware/fm/FmReceiverImpl;
811 - invoke-direct {v2, v1}, Lcom/stericsson/hardware/fm/FmTransmitterImpl;-><init>(Lcom/stericsson/hardware/fm/IFmTransmitter;)V
812 + invoke-direct {v2, v1}, Lcom/stericsson/hardware/fm/FmReceiverImpl;-><init>(Lcom/stericsson/hardware/fm/IFmReceiver;)V
816 diff -Npruw stock-framework/smali/android/app/ContextImpl$45.smali pdroid-framework/smali/android/app/ContextImpl$45.smali
817 --- stock-framework/smali/android/app/ContextImpl$45.smali 1969-12-31 18:00:00.000000000 -0600
818 +++ pdroid-framework/smali/android/app/ContextImpl$45.smali 2013-08-15 23:20:06.192304828 -0500
820 +.class final Landroid/app/ContextImpl$45;
821 +.super Landroid/app/ContextImpl$ServiceFetcher;
822 +.source "ContextImpl.java"
826 +.annotation system Ldalvik/annotation/EnclosingClass;
827 + value = Landroid/app/ContextImpl;
830 +.annotation system Ldalvik/annotation/InnerClass;
837 +.method constructor <init>()V
840 + invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;-><init>()V
847 +.method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
850 + const-string v2, "fm_transmitter"
852 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
854 + move-result-object v0
856 + invoke-static {v0}, Lcom/stericsson/hardware/fm/IFmTransmitter$Stub;->asInterface(Landroid/os/IBinder;)Lcom/stericsson/hardware/fm/IFmTransmitter;
858 + move-result-object v1
860 + new-instance v2, Lcom/stericsson/hardware/fm/FmTransmitterImpl;
862 + invoke-direct {v2, v1}, Lcom/stericsson/hardware/fm/FmTransmitterImpl;-><init>(Lcom/stericsson/hardware/fm/IFmTransmitter;)V
866 diff -Npruw stock-framework/smali/android/app/ContextImpl.smali pdroid-framework/smali/android/app/ContextImpl.smali
867 --- stock-framework/smali/android/app/ContextImpl.smali 2013-08-15 23:20:15.428304555 -0500
868 +++ pdroid-framework/smali/android/app/ContextImpl.smali 2013-08-15 23:20:06.208304828 -0500
871 .field private static sNextPerContextServiceCacheIndex:I
873 +.field private static sOuterContext:Landroid/content/Context;
875 .field private static final sSharedPrefs:Ljava/util/HashMap;
876 .annotation system Ldalvik/annotation/Signature;
880 sput-object v0, Landroid/app/ContextImpl;->sSharedPrefs:Ljava/util/HashMap;
884 + sput-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
886 new-array v0, v1, [Ljava/lang/String;
888 sput-object v0, Landroid/app/ContextImpl;->EMPTY_FILE_LIST:[Ljava/lang/String;
891 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
893 - const-string/jumbo v0, "window"
894 + const-string/jumbo v0, "privacy"
896 new-instance v1, Landroid/app/ContextImpl$38;
900 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
902 - const-string/jumbo v0, "user"
903 + const-string/jumbo v0, "window"
905 new-instance v1, Landroid/app/ContextImpl$39;
909 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
911 - const-string v0, "appops"
912 + const-string/jumbo v0, "user"
914 new-instance v1, Landroid/app/ContextImpl$40;
918 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
920 - const-string/jumbo v0, "profile"
921 + const-string v0, "appops"
923 new-instance v1, Landroid/app/ContextImpl$41;
927 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
929 - const-string v0, "WiMax"
930 + const-string/jumbo v0, "profile"
932 new-instance v1, Landroid/app/ContextImpl$42;
936 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
938 - const-string v0, "fm_receiver"
939 + const-string v0, "WiMax"
941 new-instance v1, Landroid/app/ContextImpl$43;
945 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
947 - const-string v0, "fm_transmitter"
948 + const-string v0, "fm_receiver"
950 new-instance v1, Landroid/app/ContextImpl$44;
954 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
956 + const-string v0, "fm_transmitter"
958 + new-instance v1, Landroid/app/ContextImpl$45;
960 + invoke-direct {v1}, Landroid/app/ContextImpl$45;-><init>()V
962 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
969 iput-object v0, p0, Landroid/app/ContextImpl;->mServiceCache:Ljava/util/ArrayList;
971 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
973 + if-eqz v0, :cond_26
975 + const-string v0, "ContextImpl"
977 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
979 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
982 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
984 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
991 iput-object v0, p0, Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
993 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
995 + if-eqz v0, :cond_42
997 + const-string v0, "ContextImpl"
999 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
1001 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
1004 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
1006 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1011 @@ -1085,6 +1125,14 @@
1015 +.method static final getStaticOuterContext()Landroid/content/Context;
1018 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1023 .method private getWallpaperManager()Landroid/app/WallpaperManager;
1026 @@ -5259,10 +5307,23 @@
1029 .method final setOuterContext(Landroid/content/Context;)V
1033 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1035 + if-eqz v0, :cond_b
1037 + const-string v0, "ContextImpl"
1039 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
1041 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
1044 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
1046 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
1051 diff -Npruw stock-framework/smali/android/app/Instrumentation$1.smali pdroid-framework/smali/android/app/Instrumentation$1.smali
1052 --- stock-framework/smali/android/app/Instrumentation$1.smali 2013-08-15 23:20:15.528304552 -0500
1053 +++ pdroid-framework/smali/android/app/Instrumentation$1.smali 2013-08-15 23:20:06.308304825 -0500
1055 -.class synthetic Landroid/app/Instrumentation$1;
1056 +.class Landroid/app/Instrumentation$1;
1057 .super Ljava/lang/Object;
1058 .source "Instrumentation.java"
1061 +.implements Ljava/lang/Runnable;
1065 -.annotation system Ldalvik/annotation/EnclosingClass;
1066 - value = Landroid/app/Instrumentation;
1067 +.annotation system Ldalvik/annotation/EnclosingMethod;
1068 + value = Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
1071 .annotation system Ldalvik/annotation/InnerClass;
1072 - accessFlags = 0x1008
1079 +.field final synthetic this$0:Landroid/app/Instrumentation;
1081 +.field final synthetic val$tmp:Landroid/content/Context;
1085 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1088 + iput-object p1, p0, Landroid/app/Instrumentation$1;->this$0:Landroid/app/Instrumentation;
1090 + iput-object p2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
1092 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1099 +.method public run()V
1102 + const-wide/16 v2, 0x3e8
1105 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1107 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1110 + new-instance v1, Landroid/content/Intent;
1112 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1114 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1116 + new-instance v0, Landroid/os/Bundle;
1118 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1120 + const-string/jumbo v2, "packageName"
1122 + iget-object v3, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
1124 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1126 + move-result-object v3
1128 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1130 + const-string/jumbo v2, "phoneState"
1134 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1136 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1138 + iget-object v2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
1140 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1142 + const-string v2, "PrivacyContext"
1144 + const-string/jumbo v3, "sent privacy intent"
1146 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1155 diff -Npruw stock-framework/smali/android/app/Instrumentation$2.smali pdroid-framework/smali/android/app/Instrumentation$2.smali
1156 --- stock-framework/smali/android/app/Instrumentation$2.smali 1969-12-31 18:00:00.000000000 -0600
1157 +++ pdroid-framework/smali/android/app/Instrumentation$2.smali 2013-08-15 23:20:06.308304825 -0500
1159 +.class Landroid/app/Instrumentation$2;
1160 +.super Ljava/lang/Object;
1161 +.source "Instrumentation.java"
1164 +.implements Ljava/lang/Runnable;
1168 +.annotation system Ldalvik/annotation/EnclosingMethod;
1169 + value = Landroid/app/Instrumentation;->execStartActivitiesAsUser(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;I)V
1172 +.annotation system Ldalvik/annotation/InnerClass;
1179 +.field final synthetic this$0:Landroid/app/Instrumentation;
1181 +.field final synthetic val$tmp:Landroid/content/Context;
1185 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1188 + iput-object p1, p0, Landroid/app/Instrumentation$2;->this$0:Landroid/app/Instrumentation;
1190 + iput-object p2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1192 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1199 +.method public run()V
1202 + const-wide/16 v2, 0x3e8
1205 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1207 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1210 + new-instance v1, Landroid/content/Intent;
1212 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1214 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1216 + new-instance v0, Landroid/os/Bundle;
1218 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1220 + const-string/jumbo v2, "packageName"
1222 + iget-object v3, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1224 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1226 + move-result-object v3
1228 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1230 + const-string/jumbo v2, "phoneState"
1234 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1236 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1238 + iget-object v2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1240 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1242 + const-string v2, "PrivacyContext"
1244 + const-string/jumbo v3, "sent privacy intent"
1246 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1255 diff -Npruw stock-framework/smali/android/app/Instrumentation$3.smali pdroid-framework/smali/android/app/Instrumentation$3.smali
1256 --- stock-framework/smali/android/app/Instrumentation$3.smali 1969-12-31 18:00:00.000000000 -0600
1257 +++ pdroid-framework/smali/android/app/Instrumentation$3.smali 2013-08-15 23:20:06.308304825 -0500
1259 +.class Landroid/app/Instrumentation$3;
1260 +.super Ljava/lang/Object;
1261 +.source "Instrumentation.java"
1264 +.implements Ljava/lang/Runnable;
1268 +.annotation system Ldalvik/annotation/EnclosingMethod;
1269 + value = Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
1272 +.annotation system Ldalvik/annotation/InnerClass;
1279 +.field final synthetic this$0:Landroid/app/Instrumentation;
1281 +.field final synthetic val$tmp:Landroid/content/Context;
1285 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1288 + iput-object p1, p0, Landroid/app/Instrumentation$3;->this$0:Landroid/app/Instrumentation;
1290 + iput-object p2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1292 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1299 +.method public run()V
1302 + const-wide/16 v2, 0x3e8
1305 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1307 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1310 + new-instance v1, Landroid/content/Intent;
1312 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1314 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1316 + new-instance v0, Landroid/os/Bundle;
1318 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1320 + const-string/jumbo v2, "packageName"
1322 + iget-object v3, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1324 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1326 + move-result-object v3
1328 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1330 + const-string/jumbo v2, "phoneState"
1334 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1336 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1338 + iget-object v2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1340 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1342 + const-string v2, "PrivacyContext"
1344 + const-string/jumbo v3, "sent privacy intent"
1346 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1355 diff -Npruw stock-framework/smali/android/app/Instrumentation$4.smali pdroid-framework/smali/android/app/Instrumentation$4.smali
1356 --- stock-framework/smali/android/app/Instrumentation$4.smali 1969-12-31 18:00:00.000000000 -0600
1357 +++ pdroid-framework/smali/android/app/Instrumentation$4.smali 2013-08-15 23:20:06.308304825 -0500
1359 +.class Landroid/app/Instrumentation$4;
1360 +.super Ljava/lang/Object;
1361 +.source "Instrumentation.java"
1364 +.implements Ljava/lang/Runnable;
1368 +.annotation system Ldalvik/annotation/EnclosingMethod;
1369 + value = Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
1372 +.annotation system Ldalvik/annotation/InnerClass;
1379 +.field final synthetic this$0:Landroid/app/Instrumentation;
1381 +.field final synthetic val$tmp:Landroid/content/Context;
1385 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1388 + iput-object p1, p0, Landroid/app/Instrumentation$4;->this$0:Landroid/app/Instrumentation;
1390 + iput-object p2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1392 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1399 +.method public run()V
1402 + const-wide/16 v2, 0x3e8
1405 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1407 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1410 + new-instance v1, Landroid/content/Intent;
1412 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1414 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1416 + new-instance v0, Landroid/os/Bundle;
1418 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1420 + const-string/jumbo v2, "packageName"
1422 + iget-object v3, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1424 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1426 + move-result-object v3
1428 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1430 + const-string/jumbo v2, "phoneState"
1434 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1436 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1438 + iget-object v2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1440 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1442 + const-string v2, "PrivacyContext"
1444 + const-string/jumbo v3, "sent privacy intent"
1446 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1455 diff -Npruw stock-framework/smali/android/app/Instrumentation.smali pdroid-framework/smali/android/app/Instrumentation.smali
1456 --- stock-framework/smali/android/app/Instrumentation.smali 2013-08-15 23:20:15.532304552 -0500
1457 +++ pdroid-framework/smali/android/app/Instrumentation.smali 2013-08-15 23:20:06.316304825 -0500
1460 .annotation system Ldalvik/annotation/MemberClasses;
1462 - Landroid/app/Instrumentation$1;,
1463 Landroid/app/Instrumentation$Idler;,
1464 Landroid/app/Instrumentation$ActivityGoing;,
1465 Landroid/app/Instrumentation$ActivityWaiter;,
1468 .field private mPerformanceCollector:Landroid/os/PerformanceCollector;
1470 +.field private mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1472 .field private mRunner:Ljava/lang/Thread;
1474 .field private final mSync:Ljava/lang/Object;
1475 @@ -899,182 +900,131 @@
1478 .method public execStartActivitiesAsUser(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;I)V
1481 - move-object v2, p2
1483 - check-cast v2, Landroid/app/IApplicationThread;
1485 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1487 - if-eqz v1, :cond_37
1489 - iget-object v3, p0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1494 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1496 - invoke-interface {v1}, Ljava/util/List;->size()I
1503 - if-ge v11, v9, :cond_36
1506 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1508 - invoke-interface {v1, v11}, Ljava/util/List;->get(I)Ljava/lang/Object;
1510 - move-result-object v10
1512 - check-cast v10, Landroid/app/Instrumentation$ActivityMonitor;
1518 - aget-object v4, p5, v4
1520 - invoke-virtual {v10, p1, v1, v4}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1521 + move-object/from16 v3, p2
1524 + check-cast v3, Landroid/app/IApplicationThread;
1526 - if-eqz v1, :cond_33
1527 + const-string v2, "Instrumentation"
1529 - iget v1, v10, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1530 + new-instance v4, Ljava/lang/StringBuilder;
1532 - add-int/lit8 v1, v1, 0x1
1533 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1535 - iput v1, v10, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1536 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: execStartActivitiesAsUser for "
1538 - invoke-virtual {v10}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1539 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1542 + move-result-object v4
1544 - if-eqz v1, :cond_36
1545 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1548 + move-result-object v5
1552 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1555 - add-int/lit8 v11, v11, 0x1
1556 + move-result-object v4
1559 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1564 - .catchall {:try_start_a .. :try_end_37} :catchall_5b
1565 + move-result-object v4
1569 - move-object/from16 v0, p5
1570 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1572 - array-length v1, v0
1573 + if-eqz p5, :cond_6f
1575 - new-array v5, v1, [Ljava/lang/String;
1579 + move-object/from16 v13, p5
1582 - move-object/from16 v0, p5
1583 + array-length v0, v13
1585 - array-length v1, v0
1586 + move/from16 v20, v0
1588 - if-ge v11, v1, :cond_5e
1591 - aget-object v1, p5, v11
1593 + move/from16 v0, v18
1595 - invoke-virtual {v1}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1596 + move/from16 v1, v20
1598 - aget-object v1, p5, v11
1599 + if-ge v0, v1, :cond_51
1601 - invoke-virtual {v1}, Landroid/content/Intent;->prepareToLeaveProcess()V
1602 + aget-object v19, v13, v18
1604 - aget-object v1, p5, v11
1606 + invoke-virtual/range {v19 .. v19}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1608 - invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1609 + move-result-object v2
1611 - move-result-object v3
1612 + if-eqz v2, :cond_cc
1614 - invoke-virtual {v1, v3}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1615 + invoke-virtual/range {v19 .. v19}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1617 - move-result-object v1
1618 + move-result-object v2
1620 - aput-object v1, v5, v11
1622 - .catch Landroid/os/RemoteException; {:try_start_37 .. :try_end_58} :catch_79
1623 + const-string v4, "android.intent.action.CALL"
1625 - add-int/lit8 v11, v11, 0x1
1626 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1633 + if-nez v2, :cond_50
1638 - .catchall {:try_start_5c .. :try_end_5d} :catchall_5b
1639 + invoke-virtual/range {v19 .. v19}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1642 + move-result-object v2
1646 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1647 + const-string v4, "android.intent.action.DIAL"
1649 - move-result-object v1
1650 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1652 + .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_4d} :catch_ae
1654 - invoke-virtual {p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
1657 - move-result-object v3
1658 + if-eqz v2, :cond_cc
1660 - move-object/from16 v4, p5
1664 - move-object/from16 v6, p3
1666 + if-nez v14, :cond_d0
1668 - move-object/from16 v7, p6
1669 + const-string v2, "Instrumentation"
1671 - move/from16 v8, p7
1672 + new-instance v4, Ljava/lang/StringBuilder;
1674 - invoke-interface/range {v1 .. v8}, Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
1675 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1678 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: No provided intents triggered checking for "
1681 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1683 - aget-object v1, p5, v1
1684 + move-result-object v4
1686 - invoke-static {v12, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1688 - .catch Landroid/os/RemoteException; {:try_start_5e .. :try_end_78} :catch_79
1689 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1692 + move-result-object v5
1696 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1700 + move-result-object v4
1702 -.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
1704 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1706 - move-object/from16 v3, p2
1707 + move-result-object v4
1709 - check-cast v3, Landroid/app/IApplicationThread;
1710 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1714 move-object/from16 v0, p0
1716 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1718 - if-eqz v2, :cond_4e
1719 + if-eqz v2, :cond_289
1721 move-object/from16 v0, p0
1723 @@ -1082,540 +1032,2621 @@
1729 move-object/from16 v0, p0
1731 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1733 invoke-interface {v2}, Ljava/util/List;->size()I
1742 - move/from16 v0, v16
1744 + move/from16 v0, v17
1746 - if-ge v0, v14, :cond_4d
1747 + if-ge v0, v10, :cond_288
1749 move-object/from16 v0, p0
1751 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1753 - move/from16 v0, v16
1754 + move/from16 v0, v17
1756 invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1758 - move-result-object v15
1759 + move-result-object v12
1761 - check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
1762 + check-cast v12, Landroid/app/Instrumentation$ActivityMonitor;
1766 - move-object/from16 v0, p1
1769 - move-object/from16 v1, p5
1770 + aget-object v5, p5, v5
1772 - invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1773 + move-object/from16 v0, p1
1775 + invoke-virtual {v12, v0, v2, v5}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1779 - if-eqz v2, :cond_4a
1780 + if-eqz v2, :cond_284
1782 - iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1783 + iget v2, v12, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1785 add-int/lit8 v2, v2, 0x1
1787 - iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1788 + iput v2, v12, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1790 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1791 + invoke-virtual {v12}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1795 - if-eqz v2, :cond_4d
1797 - if-ltz p6, :cond_48
1799 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1800 + if-eqz v2, :cond_288
1802 - move-result-object v2
1807 + .catchall {:try_start_7a .. :try_end_ad} :catchall_2b0
1817 + move-exception v15
1820 + const-string v2, "Instrumentation"
1823 - add-int/lit8 v16, v16, 0x1
1824 + new-instance v4, Ljava/lang/StringBuilder;
1827 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1832 - .catchall {:try_start_f .. :try_end_4e} :catchall_84
1833 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intents for "
1837 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1838 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1840 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->prepareToLeaveProcess()V
1841 + move-result-object v4
1843 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1844 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1846 - move-result-object v2
1847 + move-result-object v5
1849 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
1850 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1852 move-result-object v4
1854 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1855 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1857 - move-result-object v5
1858 + move-result-object v4
1860 - move-object/from16 v0, p5
1861 + invoke-static {v2, v4, v15}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1863 - invoke-virtual {v0, v5}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1866 - move-result-object v6
1868 + add-int/lit8 v18, v18, 0x1
1870 - if-eqz p4, :cond_87
1873 - move-object/from16 v0, p4
1875 + const-string v2, "Instrumentation"
1877 - iget-object v8, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1878 + new-instance v4, Ljava/lang/StringBuilder;
1882 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1885 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: One or more intents triggered checking for "
1888 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1890 - move-object/from16 v5, p5
1891 + move-result-object v4
1893 - move-object/from16 v7, p3
1894 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1896 - move/from16 v9, p6
1897 + move-result-object v5
1899 - move-object/from16 v13, p7
1900 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1902 - invoke-interface/range {v2 .. v13}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
1903 + move-result-object v4
1906 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1908 - move/from16 v0, v17
1909 + move-result-object v4
1911 - move-object/from16 v1, p5
1912 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1914 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1916 - .catch Landroid/os/RemoteException; {:try_start_4e .. :try_end_82} :catch_89
1917 + move-object/from16 v0, p0
1921 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1924 + if-eqz v2, :cond_fc
1928 + move-object/from16 v0, p0
1933 - .catchall {:try_start_85 .. :try_end_86} :catchall_84
1934 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1937 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1944 + if-nez v2, :cond_193
1949 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
1953 + const-string/jumbo v4, "privacy"
1955 -.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
1957 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1959 - move-object/from16 v4, p2
1960 + move-result-object v4
1962 - check-cast v4, Landroid/app/IApplicationThread;
1963 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1965 - move-object/from16 v0, p0
1966 + move-result-object v4
1968 - iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1969 + move-object/from16 v0, p1
1971 - if-eqz v3, :cond_56
1972 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1974 move-object/from16 v0, p0
1976 - iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1979 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1982 move-object/from16 v0, p0
1984 - iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1986 - invoke-interface {v3}, Ljava/util/List;->size()I
1987 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1990 + if-eqz v2, :cond_18b
1993 + const-string v2, "Instrumentation"
1996 - move/from16 v0, v18
1997 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Obtained privacy service"
1999 - move/from16 v1, v16
2000 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2002 - if-ge v0, v1, :cond_55
2006 move-object/from16 v0, p0
2008 - iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2010 - move/from16 v0, v18
2011 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2013 - invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2014 + if-eqz v2, :cond_130
2016 - move-result-object v17
2017 + move-object/from16 v0, p0
2019 - check-cast v17, Landroid/app/Instrumentation$ActivityMonitor;
2020 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2023 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2025 - move-object/from16 v0, v17
2028 - move-object/from16 v1, p1
2029 + if-nez v2, :cond_19b
2031 - move-object/from16 v2, p5
2033 + const-string v2, "Instrumentation"
2035 - invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2036 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not available - assuming permission denied"
2039 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2041 - if-eqz v3, :cond_52
2044 - move-object/from16 v0, v17
2045 + move-object/from16 v0, p0
2047 - iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2048 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2050 - add-int/lit8 v3, v3, 0x1
2051 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2053 - move-object/from16 v0, v17
2054 + move-result-object v4
2056 - iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2059 - invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2060 + const-string/jumbo v7, "phoneCall"
2065 - if-eqz v3, :cond_55
2066 + invoke-virtual {v2, v4, v5, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2068 - if-ltz p6, :cond_50
2070 + if-nez v11, :cond_6f
2072 - invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2073 + new-instance v16, Ljava/util/ArrayList;
2075 - move-result-object v3
2076 + move-object/from16 v0, p5
2080 + array-length v2, v0
2084 + move-object/from16 v0, v16
2088 + invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(I)V
2091 + move-object/from16 v13, p5
2094 - add-int/lit8 v18, v18, 0x1
2095 + array-length v0, v13
2098 + move/from16 v20, v0
2103 - .catchall {:try_start_f .. :try_end_56} :catchall_90
2108 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2110 + move/from16 v0, v18
2112 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->prepareToLeaveProcess()V
2113 + move/from16 v1, v20
2115 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2116 + if-ge v0, v1, :cond_261
2118 - move-result-object v3
2119 + aget-object v19, v13, v18
2121 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
2123 + invoke-virtual/range {v19 .. v19}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2125 - move-result-object v5
2126 + move-result-object v2
2128 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2129 + if-eqz v2, :cond_181
2131 - move-result-object v6
2132 + invoke-virtual/range {v19 .. v19}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2134 - move-object/from16 v0, p5
2135 + move-result-object v2
2137 - invoke-virtual {v0, v6}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2138 + const-string v4, "android.intent.action.CALL"
2140 - move-result-object v7
2141 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2143 - if-eqz p4, :cond_93
2146 - move-object/from16 v0, p4
2147 + if-nez v2, :cond_188
2149 - iget-object v9, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
2150 + invoke-virtual/range {v19 .. v19}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2154 + move-result-object v2
2157 + const-string v4, "android.intent.action.DIAL"
2160 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2162 - invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
2166 + if-nez v2, :cond_188
2168 - move-object/from16 v6, p5
2170 + move-object/from16 v0, v16
2172 - move-object/from16 v8, p3
2173 + move-object/from16 v1, v19
2175 - move/from16 v10, p6
2176 + invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
2178 + .catch Ljava/lang/Exception; {:try_start_163 .. :try_end_188} :catch_242
2180 - move-object/from16 v14, p7
2183 + add-int/lit8 v18, v18, 0x1
2185 - invoke-interface/range {v3 .. v15}, Landroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)I
2190 + const-string v2, "Instrumentation"
2192 - move/from16 v0, v19
2193 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not obtained"
2195 - move-object/from16 v1, p5
2196 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2198 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2200 - .catch Landroid/os/RemoteException; {:try_start_56 .. :try_end_8e} :catch_95
2206 + const-string v2, "Instrumentation"
2209 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Already had privacy service"
2213 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2218 - .catchall {:try_start_91 .. :try_end_92} :catchall_90
2223 + move-object/from16 v0, p0
2227 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2230 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2234 + move-result-object v4
2238 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2240 -.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
2242 + move-result-object v21
2244 - move-object/from16 v3, p2
2245 + if-nez v21, :cond_1d8
2247 - check-cast v3, Landroid/app/IApplicationThread;
2248 + const-string v2, "Instrumentation"
2250 - move-object/from16 v0, p0
2251 + new-instance v4, Ljava/lang/StringBuilder;
2253 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2254 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2256 - if-eqz v2, :cond_4e
2257 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: No settings for package: "
2259 - move-object/from16 v0, p0
2260 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2262 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2263 + move-result-object v4
2266 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2269 - move-object/from16 v0, p0
2270 + move-result-object v5
2272 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2273 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2275 - invoke-interface {v2}, Ljava/util/List;->size()I
2276 + move-result-object v4
2279 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2282 + move-result-object v4
2285 - move/from16 v0, v16
2286 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2288 - if-ge v0, v14, :cond_4d
2291 move-object/from16 v0, p0
2293 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2294 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2296 - move/from16 v0, v16
2297 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2299 - invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2300 + move-result-object v4
2302 - move-result-object v15
2305 - check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
2306 + const-string/jumbo v7, "phoneCall"
2311 - move-object/from16 v0, p1
2312 + invoke-virtual {v2, v4, v5, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2314 - move-object/from16 v1, p5
2317 - invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2319 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2323 - if-eqz v2, :cond_4a
2324 + if-nez v2, :cond_210
2326 - iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2327 + const-string v2, "Instrumentation"
2329 - add-int/lit8 v2, v2, 0x1
2330 + new-instance v4, Ljava/lang/StringBuilder;
2332 - iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2333 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2335 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2336 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: Settings permit "
2339 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2341 - if-eqz v2, :cond_4d
2342 + move-result-object v4
2344 - if-ltz p6, :cond_48
2345 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2347 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2348 + move-result-object v5
2350 - move-result-object v2
2351 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2355 + move-result-object v4
2359 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2363 + move-result-object v4
2366 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2369 - add-int/lit8 v16, v16, 0x1
2373 + move-object/from16 v0, p0
2378 - .catchall {:try_start_f .. :try_end_4e} :catchall_84
2379 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2383 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2384 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2386 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->prepareToLeaveProcess()V
2387 + move-result-object v4
2389 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2390 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2392 - move-result-object v2
2395 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
2396 + const-string/jumbo v7, "phoneCall"
2398 - move-result-object v4
2401 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2402 + invoke-virtual {v2, v4, v5, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2404 - move-result-object v5
2407 - move-object/from16 v0, p5
2409 + const-string v2, "Instrumentation"
2411 - invoke-virtual {v0, v5}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2412 + new-instance v4, Ljava/lang/StringBuilder;
2414 - move-result-object v6
2415 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2417 - if-eqz p4, :cond_87
2418 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents denied: Settings deny "
2420 - move-object/from16 v0, p4
2421 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2423 - iget-object v8, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
2424 + move-result-object v4
2428 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2431 + move-result-object v5
2434 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2436 - move-object/from16 v5, p5
2437 + move-result-object v4
2439 - move-object/from16 v7, p3
2440 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2442 + move-result-object v4
2444 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2448 + move-object/from16 v0, p0
2450 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2452 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2454 + move-result-object v4
2456 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2460 + const-string/jumbo v7, "phoneCall"
2464 + invoke-virtual {v2, v4, v5, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2469 + move-exception v15
2471 + const-string v2, "Instrumentation"
2473 + new-instance v4, Ljava/lang/StringBuilder;
2475 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2477 + const-string v5, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intent for "
2479 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2481 + move-result-object v4
2483 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2485 + move-result-object v5
2487 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2489 + move-result-object v4
2491 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2493 + move-result-object v4
2495 + invoke-static {v2, v4, v15}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2500 + invoke-interface/range {v16 .. v16}, Ljava/util/List;->size()I
2504 + new-array v2, v2, [Landroid/content/Intent;
2506 + move-object/from16 v0, v16
2508 + invoke-interface {v0, v2}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
2510 + move-result-object p5
2512 + check-cast p5, [Landroid/content/Intent;
2514 + move-object/from16 v23, p1
2516 + new-instance v2, Ljava/lang/Thread;
2518 + new-instance v4, Landroid/app/Instrumentation$2;
2520 + move-object/from16 v0, p0
2522 + move-object/from16 v1, v23
2524 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$2;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2526 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2528 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2533 + add-int/lit8 v17, v17, 0x1
2541 + .catchall {:try_start_288 .. :try_end_289} :catchall_2b0
2543 - move/from16 v9, p6
2546 + move-object/from16 v0, p5
2548 + array-length v2, v0
2550 - move-object/from16 v13, p7
2551 + new-array v6, v2, [Ljava/lang/String;
2553 - invoke-interface/range {v2 .. v13}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
2557 + move-object/from16 v0, p5
2560 + array-length v2, v0
2564 - move-object/from16 v1, p5
2565 + if-ge v0, v2, :cond_2b3
2567 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2569 - .catch Landroid/os/RemoteException; {:try_start_4e .. :try_end_82} :catch_89
2570 + aget-object v2, p5, v17
2574 + invoke-virtual {v2}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2576 + aget-object v2, p5, v17
2578 + invoke-virtual {v2}, Landroid/content/Intent;->prepareToLeaveProcess()V
2580 + aget-object v2, p5, v17
2582 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2584 + move-result-object v4
2586 + invoke-virtual {v2, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2588 + move-result-object v2
2590 + aput-object v2, v6, v17
2592 + .catch Landroid/os/RemoteException; {:try_start_289 .. :try_end_2ad} :catch_2d1
2595 + add-int/lit8 v17, v17, 0x1
2607 - .catchall {:try_start_85 .. :try_end_86} :catchall_84
2609 + .catchall {:try_start_2b1 .. :try_end_2b2} :catchall_2b0
2617 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2619 + move-result-object v2
2621 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
2623 + move-result-object v4
2625 + move-object/from16 v5, p5
2627 + move-object/from16 v7, p3
2629 + move-object/from16 v8, p6
2632 + move/from16 v9, p7
2635 + invoke-interface/range {v2 .. v9}, Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
2641 + aget-object v2, p5, v2
2643 + move/from16 v0, v22
2645 + invoke-static {v0, v2}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2647 + .catch Landroid/os/RemoteException; {:try_start_2b3 .. :try_end_2cf} :catch_2d1
2658 +.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
2661 + move-object/from16 v4, p2
2663 + check-cast v4, Landroid/app/IApplicationThread;
2668 + const-string v3, "Instrumentation"
2670 + new-instance v5, Ljava/lang/StringBuilder;
2672 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
2674 + const-string v6, "PDroid:Instrumentation:execStartActivity: execStartActivity for "
2676 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2678 + move-result-object v5
2680 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2682 + move-result-object v6
2684 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2686 + move-result-object v5
2688 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2690 + move-result-object v5
2692 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2694 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2696 + move-result-object v3
2698 + if-eqz v3, :cond_ba
2700 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2702 + move-result-object v3
2704 + const-string v5, "android.intent.action.CALL"
2706 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2710 + if-nez v3, :cond_40
2712 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2714 + move-result-object v3
2716 + const-string v5, "android.intent.action.DIAL"
2718 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2722 + if-eqz v3, :cond_ba
2727 + const-string v3, "Instrumentation"
2729 + new-instance v5, Ljava/lang/StringBuilder;
2731 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
2733 + const-string v6, "PDroid:Instrumentation:execStartActivity: Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
2735 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2737 + move-result-object v5
2739 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2741 + move-result-object v6
2743 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2745 + move-result-object v5
2747 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2749 + move-result-object v5
2751 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2753 + move-object/from16 v0, p0
2755 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2757 + if-eqz v3, :cond_6e
2759 + move-object/from16 v0, p0
2761 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2763 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2767 + if-nez v3, :cond_12e
2770 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
2772 + const-string/jumbo v5, "privacy"
2774 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
2776 + move-result-object v5
2778 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
2780 + move-result-object v5
2782 + move-object/from16 v0, p1
2784 + invoke-direct {v3, v0, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
2786 + move-object/from16 v0, p0
2788 + iput-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2790 + move-object/from16 v0, p0
2792 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2794 + if-eqz v3, :cond_104
2796 + const-string v3, "Instrumentation"
2798 + const-string v5, "PDroid:Instrumentation:execStartActivity: Obtained privacy service"
2800 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2803 + move-object/from16 v0, p0
2805 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2807 + if-eqz v3, :cond_a1
2809 + move-object/from16 v0, p0
2811 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2813 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2817 + if-nez v3, :cond_137
2820 + const-string v3, "Instrumentation"
2822 + const-string v5, "PDroid:Instrumentation:execStartActivity: Privacy service not available: rejecting call attempt"
2824 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2828 + move-object/from16 v0, p0
2830 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2832 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2834 + move-result-object v5
2838 + const-string/jumbo v7, "phoneCall"
2842 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2844 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_ba} :catch_10c
2848 + move-object/from16 v0, p0
2850 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2852 + if-eqz v3, :cond_207
2854 + move-object/from16 v0, p0
2856 + iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2861 + move-object/from16 v0, p0
2863 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2865 + invoke-interface {v3}, Ljava/util/List;->size()I
2872 + move/from16 v0, v19
2874 + if-ge v0, v15, :cond_206
2876 + move-object/from16 v0, p0
2878 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2880 + move/from16 v0, v19
2882 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2884 + move-result-object v17
2886 + check-cast v17, Landroid/app/Instrumentation$ActivityMonitor;
2890 + move-object/from16 v0, v17
2892 + move-object/from16 v1, p1
2894 + move-object/from16 v2, p5
2896 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2900 + if-eqz v3, :cond_202
2902 + move-object/from16 v0, v17
2904 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2906 + add-int/lit8 v3, v3, 0x1
2908 + move-object/from16 v0, v17
2910 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2912 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2916 + if-eqz v3, :cond_206
2918 + if-ltz p6, :cond_1ff
2920 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2922 + move-result-object v3
2927 + .catchall {:try_start_c5 .. :try_end_103} :catchall_221
2934 + const-string v3, "Instrumentation"
2936 + const-string v5, "PDroid:Instrumentation:execStartActivity: Privacy service not obtained"
2938 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2940 + .catch Ljava/lang/Exception; {:try_start_104 .. :try_end_10b} :catch_10c
2945 + move-exception v18
2947 + if-eqz p1, :cond_1f4
2949 + const-string v3, "Instrumentation"
2951 + new-instance v5, Ljava/lang/StringBuilder;
2953 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
2955 + const-string v6, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for "
2957 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2959 + move-result-object v5
2961 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2963 + move-result-object v6
2965 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2967 + move-result-object v5
2969 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2971 + move-result-object v5
2973 + move-object/from16 v0, v18
2975 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2981 + const-string v3, "Instrumentation"
2983 + const-string v5, "PDroid:Instrumentation:execStartActivity: Already had privacy service"
2985 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2990 + move-object/from16 v0, p0
2992 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2994 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2996 + move-result-object v5
2998 + invoke-virtual {v3, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
3000 + move-result-object v20
3002 + if-nez v20, :cond_175
3004 + const-string v3, "Instrumentation"
3006 + new-instance v5, Ljava/lang/StringBuilder;
3008 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3010 + const-string v6, "PDroid:Instrumentation:execStartActivity: Call allowed: No settings for package: "
3012 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3014 + move-result-object v5
3016 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3018 + move-result-object v6
3020 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3022 + move-result-object v5
3024 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3026 + move-result-object v5
3028 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3032 + move-object/from16 v0, p0
3034 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3036 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3038 + move-result-object v5
3042 + const-string/jumbo v7, "phoneCall"
3046 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3051 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3055 + if-nez v3, :cond_1ae
3057 + const-string v3, "Instrumentation"
3059 + new-instance v5, Ljava/lang/StringBuilder;
3061 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3063 + const-string v6, "PDroid:Instrumentation:execStartActivity: Call allowed: Settings permit "
3065 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3067 + move-result-object v5
3069 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3071 + move-result-object v6
3073 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3075 + move-result-object v5
3077 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3079 + move-result-object v5
3081 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3085 + move-object/from16 v0, p0
3087 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3089 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3091 + move-result-object v5
3093 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3097 + const-string/jumbo v7, "phoneCall"
3101 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3106 + const-string v3, "Instrumentation"
3108 + new-instance v5, Ljava/lang/StringBuilder;
3110 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3112 + const-string v6, "PDroid:Instrumentation:execStartActivity: Call denied: Settings deny "
3114 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3116 + move-result-object v5
3118 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3120 + move-result-object v6
3122 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3124 + move-result-object v5
3126 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3128 + move-result-object v5
3130 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3134 + move-object/from16 v22, p1
3136 + new-instance v3, Ljava/lang/Thread;
3138 + new-instance v5, Landroid/app/Instrumentation$1;
3140 + move-object/from16 v0, p0
3142 + move-object/from16 v1, v22
3144 + invoke-direct {v5, v0, v1}, Landroid/app/Instrumentation$1;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
3146 + invoke-direct {v3, v5}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
3148 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
3150 + move-object/from16 v0, p0
3152 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3154 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3156 + move-result-object v5
3158 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3162 + const-string/jumbo v7, "phoneCall"
3166 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3168 + .catch Ljava/lang/Exception; {:try_start_12e .. :try_end_1f2} :catch_10c
3173 + const-string v3, "Instrumentation"
3175 + const-string v5, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for unknown package"
3177 + move-object/from16 v0, v18
3179 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3189 + add-int/lit8 v19, v19, 0x1
3197 + .catchall {:try_start_206 .. :try_end_207} :catchall_221
3200 + if-nez v16, :cond_224
3203 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
3205 + move/from16 v0, p6
3207 + move-object/from16 v1, p5
3209 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3211 + .catch Ljava/lang/Exception; {:try_start_209 .. :try_end_212} :catch_214
3216 + move-exception v18
3218 + const-string v3, "Instrumentation"
3220 + const-string v5, "PDroid:Instrumentation:execStartActivity: Exception occurred while trying to create ActivityResult"
3222 + move-object/from16 v0, v18
3224 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3236 + .catchall {:try_start_222 .. :try_end_223} :catchall_221
3242 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3244 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->prepareToLeaveProcess()V
3246 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3248 + move-result-object v3
3250 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
3252 + move-result-object v5
3254 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3256 + move-result-object v6
3258 + move-object/from16 v0, p5
3260 + invoke-virtual {v0, v6}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3262 + move-result-object v7
3264 + if-eqz p4, :cond_25b
3266 + move-object/from16 v0, p4
3268 + iget-object v9, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3277 + move-object/from16 v6, p5
3279 + move-object/from16 v8, p3
3281 + move/from16 v10, p6
3283 + move-object/from16 v14, p7
3285 + invoke-interface/range {v3 .. v14}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
3289 + move/from16 v0, v21
3291 + move-object/from16 v1, p5
3293 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3295 + .catch Landroid/os/RemoteException; {:try_start_224 .. :try_end_258} :catch_25d
3313 +.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
3316 + move-object/from16 v4, p2
3318 + check-cast v4, Landroid/app/IApplicationThread;
3323 + const-string v3, "Instrumentation"
3325 + new-instance v5, Ljava/lang/StringBuilder;
3327 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3329 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): execStartActivity for "
3331 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3333 + move-result-object v5
3335 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3337 + move-result-object v6
3339 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3341 + move-result-object v5
3343 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3345 + move-result-object v5
3347 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3349 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3351 + move-result-object v3
3353 + if-eqz v3, :cond_ba
3355 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3357 + move-result-object v3
3359 + const-string v5, "android.intent.action.CALL"
3361 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3365 + if-nez v3, :cond_40
3367 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3369 + move-result-object v3
3371 + const-string v5, "android.intent.action.DIAL"
3373 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3377 + if-eqz v3, :cond_ba
3382 + const-string v3, "Instrumentation"
3384 + new-instance v5, Ljava/lang/StringBuilder;
3386 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3388 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3390 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3392 + move-result-object v5
3394 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3396 + move-result-object v6
3398 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3400 + move-result-object v5
3402 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3404 + move-result-object v5
3406 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3408 + move-object/from16 v0, p0
3410 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3412 + if-eqz v3, :cond_6e
3414 + move-object/from16 v0, p0
3416 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3418 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3422 + if-nez v3, :cond_130
3425 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
3427 + const-string/jumbo v5, "privacy"
3429 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3431 + move-result-object v5
3433 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3435 + move-result-object v5
3437 + move-object/from16 v0, p1
3439 + invoke-direct {v3, v0, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3441 + move-object/from16 v0, p0
3443 + iput-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3445 + move-object/from16 v0, p0
3447 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3449 + if-eqz v3, :cond_106
3451 + const-string v3, "Instrumentation"
3453 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Obtained privacy service"
3455 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3458 + move-object/from16 v0, p0
3460 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3462 + if-eqz v3, :cond_a1
3464 + move-object/from16 v0, p0
3466 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3468 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3472 + if-nez v3, :cond_139
3475 + const-string v3, "Instrumentation"
3477 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not available: rejecting call attempt"
3479 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3483 + move-object/from16 v0, p0
3485 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3487 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3489 + move-result-object v5
3493 + const-string/jumbo v7, "phoneCall"
3497 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3499 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_ba} :catch_10e
3503 + move-object/from16 v0, p0
3505 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3507 + if-eqz v3, :cond_209
3509 + move-object/from16 v0, p0
3511 + iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
3516 + move-object/from16 v0, p0
3518 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3520 + invoke-interface {v3}, Ljava/util/List;->size()I
3527 + move/from16 v0, v20
3529 + move/from16 v1, v16
3531 + if-ge v0, v1, :cond_208
3533 + move-object/from16 v0, p0
3535 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3537 + move/from16 v0, v20
3539 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
3541 + move-result-object v18
3543 + check-cast v18, Landroid/app/Instrumentation$ActivityMonitor;
3547 + move-object/from16 v0, v18
3549 + move-object/from16 v1, p1
3551 + move-object/from16 v2, p5
3553 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
3557 + if-eqz v3, :cond_204
3559 + move-object/from16 v0, v18
3561 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3563 + add-int/lit8 v3, v3, 0x1
3565 + move-object/from16 v0, v18
3567 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3569 + invoke-virtual/range {v18 .. v18}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
3573 + if-eqz v3, :cond_208
3575 + if-ltz p6, :cond_201
3577 + invoke-virtual/range {v18 .. v18}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
3579 + move-result-object v3
3584 + .catchall {:try_start_c5 .. :try_end_105} :catchall_223
3591 + const-string v3, "Instrumentation"
3593 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not obtained"
3595 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3597 + .catch Ljava/lang/Exception; {:try_start_106 .. :try_end_10d} :catch_10e
3602 + move-exception v19
3604 + if-eqz p1, :cond_1f6
3606 + const-string v3, "Instrumentation"
3608 + new-instance v5, Ljava/lang/StringBuilder;
3610 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3612 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for "
3614 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3616 + move-result-object v5
3618 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3620 + move-result-object v6
3622 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3624 + move-result-object v5
3626 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3628 + move-result-object v5
3630 + move-object/from16 v0, v19
3632 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3638 + const-string v3, "Instrumentation"
3640 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Already had privacy service"
3642 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3647 + move-object/from16 v0, p0
3649 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3651 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3653 + move-result-object v5
3655 + invoke-virtual {v3, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
3657 + move-result-object v21
3659 + if-nez v21, :cond_177
3661 + const-string v3, "Instrumentation"
3663 + new-instance v5, Ljava/lang/StringBuilder;
3665 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3667 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: No settings for package: "
3669 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3671 + move-result-object v5
3673 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3675 + move-result-object v6
3677 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3679 + move-result-object v5
3681 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3683 + move-result-object v5
3685 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3689 + move-object/from16 v0, p0
3691 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3693 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3695 + move-result-object v5
3699 + const-string/jumbo v7, "phoneCall"
3703 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3708 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3712 + if-nez v3, :cond_1b0
3714 + const-string v3, "Instrumentation"
3716 + new-instance v5, Ljava/lang/StringBuilder;
3718 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3720 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: Settings permit "
3722 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3724 + move-result-object v5
3726 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3728 + move-result-object v6
3730 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3732 + move-result-object v5
3734 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3736 + move-result-object v5
3738 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3742 + move-object/from16 v0, p0
3744 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3746 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3748 + move-result-object v5
3750 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3754 + const-string/jumbo v7, "phoneCall"
3758 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3763 + const-string v3, "Instrumentation"
3765 + new-instance v5, Ljava/lang/StringBuilder;
3767 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3769 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call denied: Settings deny "
3771 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3773 + move-result-object v5
3775 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3777 + move-result-object v6
3779 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3781 + move-result-object v5
3783 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3785 + move-result-object v5
3787 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3789 + move-object/from16 v23, p1
3793 + new-instance v3, Ljava/lang/Thread;
3795 + new-instance v5, Landroid/app/Instrumentation$4;
3797 + move-object/from16 v0, p0
3799 + move-object/from16 v1, v23
3801 + invoke-direct {v5, v0, v1}, Landroid/app/Instrumentation$4;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
3803 + invoke-direct {v3, v5}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
3805 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
3807 + move-object/from16 v0, p0
3809 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3811 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3813 + move-result-object v5
3815 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3819 + const-string/jumbo v7, "phoneCall"
3823 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3825 + .catch Ljava/lang/Exception; {:try_start_130 .. :try_end_1f4} :catch_10e
3830 + const-string v3, "Instrumentation"
3832 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for unknown package"
3834 + move-object/from16 v0, v19
3836 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3846 + add-int/lit8 v20, v20, 0x1
3854 + .catchall {:try_start_208 .. :try_end_209} :catchall_223
3857 + if-nez v17, :cond_226
3860 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
3862 + move/from16 v0, p6
3864 + move-object/from16 v1, p5
3866 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3868 + .catch Ljava/lang/Exception; {:try_start_20b .. :try_end_214} :catch_216
3873 + move-exception v19
3875 + const-string v3, "Instrumentation"
3877 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred while trying to create ActivityResult"
3879 + move-object/from16 v0, v19
3881 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3893 + .catchall {:try_start_224 .. :try_end_225} :catchall_223
3899 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3901 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->prepareToLeaveProcess()V
3903 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3905 + move-result-object v3
3907 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
3909 + move-result-object v5
3911 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3913 + move-result-object v6
3915 + move-object/from16 v0, p5
3917 + invoke-virtual {v0, v6}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3919 + move-result-object v7
3921 + if-eqz p4, :cond_261
3923 + move-object/from16 v0, p4
3925 + iget-object v9, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3934 + invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
3938 + move-object/from16 v6, p5
3940 + move-object/from16 v8, p3
3942 + move/from16 v10, p6
3944 + move-object/from16 v14, p7
3946 + invoke-interface/range {v3 .. v15}, Landroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)I
3950 + move/from16 v0, v22
3952 + move-object/from16 v1, p5
3954 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3956 + .catch Landroid/os/RemoteException; {:try_start_226 .. :try_end_25e} :catch_263
3974 +.method public execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Fragment;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
3977 + move-object/from16 v4, p2
3979 + check-cast v4, Landroid/app/IApplicationThread;
3984 + const-string v3, "Instrumentation"
3986 + new-instance v5, Ljava/lang/StringBuilder;
3988 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3990 + const-string v6, "PDroid:Instrumentation:execStartActivity (with Fragments): execStartActivity for "
3992 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3994 + move-result-object v5
3996 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3998 + move-result-object v6
4000 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4002 + move-result-object v5
4004 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4006 + move-result-object v5
4008 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4010 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4012 + move-result-object v3
4014 + if-eqz v3, :cond_ba
4016 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4018 + move-result-object v3
4020 + const-string v5, "android.intent.action.CALL"
4022 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4026 + if-nez v3, :cond_40
4028 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
4030 + move-result-object v3
4032 + const-string v5, "android.intent.action.DIAL"
4034 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
4038 + if-eqz v3, :cond_ba
4043 + const-string v3, "Instrumentation"
4045 + new-instance v5, Ljava/lang/StringBuilder;
4047 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4049 + const-string v6, "PDroid:Instrumentation:execStartActivity (with Fragments): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
4051 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4053 + move-result-object v5
4055 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4057 + move-result-object v6
4059 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4061 + move-result-object v5
4063 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4065 + move-result-object v5
4067 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4069 + move-object/from16 v0, p0
4071 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4073 + if-eqz v3, :cond_6e
4075 + move-object/from16 v0, p0
4077 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4079 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
4083 + if-nez v3, :cond_12e
4086 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
4088 + const-string/jumbo v5, "privacy"
4090 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4092 + move-result-object v5
4094 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
4096 + move-result-object v5
4098 + move-object/from16 v0, p1
4100 + invoke-direct {v3, v0, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
4102 + move-object/from16 v0, p0
4104 + iput-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4106 + move-object/from16 v0, p0
4108 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4110 + if-eqz v3, :cond_104
4112 + const-string v3, "Instrumentation"
4114 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Obtained privacy service"
4116 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4119 + move-object/from16 v0, p0
4121 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4123 + if-eqz v3, :cond_a1
4125 + move-object/from16 v0, p0
4127 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4129 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
4133 + if-nez v3, :cond_137
4136 + const-string v3, "Instrumentation"
4138 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not available: rejecting call attempt"
4140 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4144 + move-object/from16 v0, p0
4146 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4148 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4150 + move-result-object v5
4154 + const-string/jumbo v7, "phoneCall"
4158 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4160 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_ba} :catch_10c
4164 + move-object/from16 v0, p0
4166 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
4168 + if-eqz v3, :cond_207
4170 + move-object/from16 v0, p0
4172 + iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
4177 + move-object/from16 v0, p0
4179 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
4181 + invoke-interface {v3}, Ljava/util/List;->size()I
4188 + move/from16 v0, v19
4190 + if-ge v0, v15, :cond_206
4192 + move-object/from16 v0, p0
4194 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
4196 + move/from16 v0, v19
4198 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
4200 + move-result-object v17
4202 + check-cast v17, Landroid/app/Instrumentation$ActivityMonitor;
4206 + move-object/from16 v0, v17
4208 + move-object/from16 v1, p1
4210 + move-object/from16 v2, p5
4212 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
4216 + if-eqz v3, :cond_202
4218 + move-object/from16 v0, v17
4220 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
4222 + add-int/lit8 v3, v3, 0x1
4224 + move-object/from16 v0, v17
4226 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
4228 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
4232 + if-eqz v3, :cond_206
4234 + if-ltz p6, :cond_1ff
4236 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
4238 + move-result-object v3
4243 + .catchall {:try_start_c5 .. :try_end_103} :catchall_221
4250 + const-string v3, "Instrumentation"
4252 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not obtained"
4254 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4256 + .catch Ljava/lang/Exception; {:try_start_104 .. :try_end_10b} :catch_10c
4261 + move-exception v18
4263 + if-eqz p1, :cond_1f4
4265 + const-string v3, "Instrumentation"
4267 + new-instance v5, Ljava/lang/StringBuilder;
4269 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4271 + const-string v6, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for "
4273 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4275 + move-result-object v5
4277 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4279 + move-result-object v6
4281 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4283 + move-result-object v5
4285 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4287 + move-result-object v5
4289 + move-object/from16 v0, v18
4291 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4297 + const-string v3, "Instrumentation"
4299 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Already had privacy service"
4301 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4306 + move-object/from16 v0, p0
4308 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4310 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4312 + move-result-object v5
4314 + invoke-virtual {v3, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
4316 + move-result-object v20
4318 + if-nez v20, :cond_175
4320 + const-string v3, "Instrumentation"
4322 + new-instance v5, Ljava/lang/StringBuilder;
4324 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4326 + const-string v6, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: No settings for package: "
4328 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4330 + move-result-object v5
4332 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4334 + move-result-object v6
4336 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4338 + move-result-object v5
4340 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4342 + move-result-object v5
4344 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4348 + move-object/from16 v0, p0
4350 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4352 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4354 + move-result-object v5
4358 + const-string/jumbo v7, "phoneCall"
4362 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4367 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4371 + if-nez v3, :cond_1ae
4373 + const-string v3, "Instrumentation"
4375 + new-instance v5, Ljava/lang/StringBuilder;
4377 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4379 + const-string v6, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: Settings permit "
4381 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4383 + move-result-object v5
4385 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4387 + move-result-object v6
4389 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4391 + move-result-object v5
4393 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4395 + move-result-object v5
4397 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4401 + move-object/from16 v0, p0
4403 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4405 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4407 + move-result-object v5
4409 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4413 + const-string/jumbo v7, "phoneCall"
4417 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4422 + const-string v3, "Instrumentation"
4424 + new-instance v5, Ljava/lang/StringBuilder;
4426 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
4428 + const-string v6, "PDroid:Instrumentation:execStartActivity (with Fragments): Call denied: Settings deny "
4430 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4432 + move-result-object v5
4434 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4436 + move-result-object v6
4438 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4440 + move-result-object v5
4442 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4444 + move-result-object v5
4446 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4448 + move-object/from16 v22, p1
4452 + new-instance v3, Ljava/lang/Thread;
4454 + new-instance v5, Landroid/app/Instrumentation$3;
4456 + move-object/from16 v0, p0
4458 + move-object/from16 v1, v22
4460 + invoke-direct {v5, v0, v1}, Landroid/app/Instrumentation$3;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
4462 + invoke-direct {v3, v5}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
4464 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
4466 + move-object/from16 v0, p0
4468 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4470 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4472 + move-result-object v5
4474 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4478 + const-string/jumbo v7, "phoneCall"
4482 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4484 + .catch Ljava/lang/Exception; {:try_start_12e .. :try_end_1f2} :catch_10c
4489 + const-string v3, "Instrumentation"
4491 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for unknown package"
4493 + move-object/from16 v0, v18
4495 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4505 + add-int/lit8 v19, v19, 0x1
4513 + .catchall {:try_start_206 .. :try_end_207} :catchall_221
4516 + if-nez v16, :cond_224
4519 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
4521 + move/from16 v0, p6
4523 + move-object/from16 v1, p5
4525 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
4527 + .catch Ljava/lang/Exception; {:try_start_209 .. :try_end_212} :catch_214
4532 + move-exception v18
4534 + const-string v3, "Instrumentation"
4536 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred while trying to create ActivityResult"
4538 + move-object/from16 v0, v18
4540 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4552 + .catchall {:try_start_222 .. :try_end_223} :catchall_221
4558 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
4560 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->prepareToLeaveProcess()V
4562 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
4564 + move-result-object v3
4566 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getBasePackageName()Ljava/lang/String;
4568 + move-result-object v5
4570 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
4572 + move-result-object v6
4574 + move-object/from16 v0, p5
4576 + invoke-virtual {v0, v6}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
4578 + move-result-object v7
4580 + if-eqz p4, :cond_25b
4582 + move-object/from16 v0, p4
4584 + iget-object v9, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
4593 + move-object/from16 v6, p5
4595 + move-object/from16 v8, p3
4597 + move/from16 v10, p6
4599 + move-object/from16 v14, p7
4601 + invoke-interface/range {v3 .. v14}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
4605 + move/from16 v0, v21
4607 + move-object/from16 v1, p5
4609 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
4611 + .catch Landroid/os/RemoteException; {:try_start_224 .. :try_end_258} :catch_25d
4629 .method public finish(ILandroid/os/Bundle;)V
4630 diff -Npruw stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
4631 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2013-08-15 23:20:15.552304552 -0500
4632 +++ pdroid-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2013-08-15 23:20:06.336304824 -0500
4635 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4637 - const-string v0, "mLoader="
4638 + const-string/jumbo v0, "mLoader="
4640 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4644 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mLoader:Landroid/content/Loader;
4646 - if-eqz v0, :cond_4d
4647 + if-eqz v0, :cond_4e
4649 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mLoader:Landroid/content/Loader;
4651 @@ -568,16 +568,16 @@
4653 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/content/Loader;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
4657 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mHaveData:Z
4659 - if-nez v0, :cond_55
4660 + if-nez v0, :cond_56
4662 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
4664 - if-eqz v0, :cond_79
4665 + if-eqz v0, :cond_7a
4669 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4671 const-string v0, "mHaveData="
4674 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
4678 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4680 const-string/jumbo v0, "mStarted="
4683 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
4685 - if-eqz v0, :cond_eb
4686 + if-eqz v0, :cond_ec
4688 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4692 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl$LoaderInfo;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
4699 diff -Npruw stock-framework/smali/android/content/ContentResolver.smali pdroid-framework/smali/android/content/ContentResolver.smali
4700 --- stock-framework/smali/android/content/ContentResolver.smali 2013-08-15 23:20:15.416304556 -0500
4701 +++ pdroid-framework/smali/android/content/ContentResolver.smali 2013-08-15 23:20:06.196304828 -0500
4702 @@ -3757,8 +3757,8 @@
4704 invoke-virtual {v0, v10}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
4706 - .catchall {:try_start_c .. :try_end_1f} :catchall_d9
4707 - .catch Landroid/os/RemoteException; {:try_start_c .. :try_end_1f} :catch_c1
4708 + .catchall {:try_start_c .. :try_end_1f} :catchall_f5
4709 + .catch Landroid/os/RemoteException; {:try_start_c .. :try_end_1f} :catch_dd
4713 @@ -3777,30 +3777,44 @@
4714 move-object/from16 v9, p5
4716 invoke-interface/range {v3 .. v10}, Landroid/content/IContentProvider;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
4718 - .catchall {:try_start_1f .. :try_end_30} :catchall_d9
4719 - .catch Landroid/os/DeadObjectException; {:try_start_1f .. :try_end_30} :catch_49
4720 - .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_30} :catch_c1
4722 move-result-object v20
4725 - if-nez v20, :cond_80
4726 + move-object/from16 v0, p0
4728 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4730 + move-object/from16 v0, p1
4732 + move-object/from16 v1, p2
4734 + move-object/from16 v2, v20
4736 + 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;
4738 + .catchall {:try_start_1f .. :try_end_3e} :catchall_f5
4739 + .catch Landroid/os/DeadObjectException; {:try_start_1f .. :try_end_3e} :catch_57
4740 + .catch Landroid/os/RemoteException; {:try_start_1f .. :try_end_3e} :catch_dd
4742 + move-result-object v20
4745 + if-nez v20, :cond_9c
4749 - if-eqz v20, :cond_3a
4750 + if-eqz v20, :cond_48
4752 invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
4755 - if-eqz v3, :cond_41
4757 + if-eqz v3, :cond_4f
4759 move-object/from16 v0, p0
4761 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4767 move-object/from16 v0, p0
4768 @@ -3809,37 +3823,37 @@
4778 move-object/from16 v0, p0
4780 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
4782 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4784 - .catchall {:try_start_4a .. :try_end_52} :catchall_d9
4785 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_52} :catch_c1
4787 + .catchall {:try_start_58 .. :try_end_60} :catchall_f5
4788 + .catch Landroid/os/RemoteException; {:try_start_58 .. :try_end_60} :catch_dd
4790 move-result-object v11
4792 - if-nez v11, :cond_6b
4793 + if-nez v11, :cond_79
4797 - if-eqz v20, :cond_5c
4798 + if-eqz v20, :cond_6a
4800 invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
4803 - if-eqz v3, :cond_63
4805 + if-eqz v3, :cond_71
4807 move-object/from16 v0, p0
4809 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4815 move-object/from16 v0, p0
4816 @@ -3848,8 +3862,8 @@
4824 move-object/from16 v0, p0
4826 iget-object v12, v0, Landroid/content/ContentResolver;->mPackageName:Ljava/lang/String;
4827 @@ -3870,9 +3884,23 @@
4829 move-result-object v20
4832 + move-object/from16 v0, p0
4834 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4836 + move-object/from16 v0, p1
4838 + move-object/from16 v1, p2
4840 + move-object/from16 v2, v20
4842 + 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;
4844 + move-result-object v20
4850 invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->getCount()I
4852 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
4853 @@ -3895,11 +3923,11 @@
4855 new-instance v23, Landroid/content/ContentResolver$CursorWrapperInner;
4857 - if-eqz v11, :cond_bc
4858 + if-eqz v11, :cond_d8
4864 move-object/from16 v0, v23
4866 move-object/from16 v1, p0
4867 @@ -3907,26 +3935,26 @@
4868 move-object/from16 v2, v20
4870 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
4872 - .catchall {:try_start_6b .. :try_end_a4} :catchall_d9
4873 - .catch Landroid/os/RemoteException; {:try_start_6b .. :try_end_a4} :catch_c1
4875 + .catchall {:try_start_79 .. :try_end_c0} :catchall_f5
4876 + .catch Landroid/os/RemoteException; {:try_start_79 .. :try_end_c0} :catch_dd
4882 - if-eqz v20, :cond_ac
4883 + if-eqz v20, :cond_c8
4885 invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
4888 - if-eqz v3, :cond_b3
4890 + if-eqz v3, :cond_cf
4892 move-object/from16 v0, p0
4894 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4900 move-object/from16 v0, p0
4901 @@ -3935,34 +3963,34 @@
4909 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4911 - .catchall {:try_start_bc .. :try_end_bf} :catchall_d9
4912 - .catch Landroid/os/RemoteException; {:try_start_bc .. :try_end_bf} :catch_c1
4914 + .catchall {:try_start_d8 .. :try_end_db} :catchall_f5
4915 + .catch Landroid/os/RemoteException; {:try_start_d8 .. :try_end_db} :catch_dd
4917 move-result-object v4
4928 - if-eqz v20, :cond_c9
4929 + if-eqz v20, :cond_e5
4931 invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
4934 - if-eqz v3, :cond_d0
4936 + if-eqz v3, :cond_ec
4938 move-object/from16 v0, p0
4940 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4946 move-object/from16 v0, p0
4947 @@ -3971,28 +3999,28 @@
4955 - if-eqz v20, :cond_df
4956 + if-eqz v20, :cond_fb
4958 invoke-interface/range {v20 .. v20}, Landroid/database/Cursor;->close()V
4961 - if-eqz v3, :cond_e6
4963 + if-eqz v3, :cond_102
4965 move-object/from16 v0, p0
4967 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4970 - if-eqz v11, :cond_ed
4972 + if-eqz v11, :cond_109
4974 move-object/from16 v0, p0
4976 invoke-virtual {v0, v11}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4983 diff -Npruw stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali
4984 --- stock-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2013-08-15 23:20:15.852304543 -0500
4985 +++ pdroid-framework/smali/android/content/pm/ContainerEncryptionParams.smali 2013-08-15 23:20:06.680304814 -0500
4988 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4990 - const-string v1, "mMacAlgorithm=\""
4991 + const-string/jumbo v1, "mMacAlgorithm=\""
4993 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4997 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4999 - const-string v1, "mMacSpec="
5000 + const-string/jumbo v1, "mMacSpec="
5002 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5006 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5008 - const-string v1, "mMacKey="
5009 + const-string/jumbo v1, "mMacKey="
5011 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5013 diff -Npruw stock-framework/smali/android/hardware/Camera$EventHandler.smali pdroid-framework/smali/android/hardware/Camera$EventHandler.smali
5014 --- stock-framework/smali/android/hardware/Camera$EventHandler.smali 2013-08-15 23:20:16.256304531 -0500
5015 +++ pdroid-framework/smali/android/hardware/Camera$EventHandler.smali 2013-08-15 23:20:07.164304799 -0500
5016 @@ -36,501 +36,879 @@
5019 .method public handleMessage(Landroid/os/Message;)V
5023 - const/16 v7, 0x101
5027 + move-object/from16 v0, p0
5030 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5032 + #getter for: Landroid/hardware/Camera;->privacyMode:Z
5033 + invoke-static {v1}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Z
5037 + if-nez v1, :cond_12
5039 + move-object/from16 v0, p0
5041 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5043 + #calls: Landroid/hardware/Camera;->initiate()V
5044 + invoke-static {v1}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)V
5047 + move-object/from16 v0, p0
5049 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5051 + #calls: Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5052 + invoke-static {v1}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
5054 + move-result-object v12
5056 + move-object/from16 v0, p0
5058 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5060 + #calls: Landroid/hardware/Camera;->checkIfPackagesAllowed()I
5061 + invoke-static {v1}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)I
5067 + if-ne v1, v2, :cond_7c
5071 + move-object/from16 v0, p0
5073 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5077 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
5078 + invoke-static {v1, v2}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
5080 + if-eqz v12, :cond_58
5082 + move-object/from16 v0, p0
5084 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5086 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5087 + invoke-static {v1}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5089 - iget v6, p1, Landroid/os/Message;->what:I
5090 + move-result-object v1
5092 - sparse-switch v6, :sswitch_data_1a0
5095 - const-string v5, "Camera"
5096 + aget-object v2, v12, v2
5098 - new-instance v6, Ljava/lang/StringBuilder;
5101 - invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
5104 - const-string v7, "Unknown message type "
5105 + const-string v5, "camera"
5107 - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5110 + move-object/from16 v0, p0
5112 + iget-object v7, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5114 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5115 + invoke-static {v7}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5117 + move-result-object v7
5121 + aget-object v15, v12, v15
5123 + invoke-static {}, Landroid/os/Process;->myUid()I
5127 + move/from16 v0, v16
5129 + invoke-virtual {v7, v15, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5131 + move-result-object v7
5133 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
5135 - move-result-object v6
5138 + move-object/from16 v0, p1
5140 - iget v7, p1, Landroid/os/Message;->what:I
5141 + iget v1, v0, Landroid/os/Message;->what:I
5143 - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5144 + sparse-switch v1, :sswitch_data_2f8
5146 - move-result-object v6
5147 + const-string v1, "Camera"
5149 - invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5150 + new-instance v2, Ljava/lang/StringBuilder;
5152 - move-result-object v6
5153 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
5155 - invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5156 + const-string v3, "Unknown message type "
5160 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5162 + move-result-object v2
5164 + move-object/from16 v0, p1
5166 + iget v3, v0, Landroid/os/Message;->what:I
5168 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5170 + move-result-object v2
5172 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5174 + move-result-object v2
5176 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5183 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5185 + move-object/from16 v0, p0
5187 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5191 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
5192 + invoke-static {v1, v2}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
5194 + if-eqz v12, :cond_58
5196 + move-object/from16 v0, p0
5198 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5200 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5201 + invoke-static {v1}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5203 + move-result-object v1
5207 + aget-object v2, v12, v2
5213 + const-string v5, "camera"
5217 + move-object/from16 v0, p0
5219 + iget-object v7, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5221 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5222 + invoke-static {v7}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5224 + move-result-object v7
5228 + aget-object v15, v12, v15
5230 + invoke-static {}, Landroid/os/Process;->myUid()I
5234 + move/from16 v0, v16
5236 + invoke-virtual {v7, v15, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5238 + move-result-object v7
5240 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
5245 + move-object/from16 v0, p0
5247 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5249 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5250 - invoke-static {v5}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5251 + invoke-static {v1}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5253 - move-result-object v5
5254 + move-result-object v1
5256 - if-eqz v5, :cond_23
5257 + if-eqz v1, :cond_7b
5259 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5260 + move-object/from16 v0, p0
5262 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5264 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5265 - invoke-static {v5}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5266 + invoke-static {v1}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5268 + move-result-object v1
5270 - move-result-object v5
5271 + invoke-interface {v1}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
5273 - invoke-interface {v5}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
5278 + move-object/from16 v0, p0
5281 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5282 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5284 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5285 - invoke-static {v5}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5286 + invoke-static {v1}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5288 + move-result-object v1
5290 - move-result-object v5
5291 + if-eqz v1, :cond_7b
5293 - if-eqz v5, :cond_23
5294 + if-eqz v8, :cond_e9
5296 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5297 + move-object/from16 v0, p0
5299 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5301 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5302 - invoke-static {v5}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5303 + invoke-static {v1}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5305 + move-result-object v2
5307 - move-result-object v6
5308 + move-object/from16 v0, p1
5310 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5311 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5319 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5320 + move-object/from16 v0, p0
5322 - invoke-interface {v6, v5, v7}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5323 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5326 + invoke-interface {v2, v1, v3}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5329 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5333 + move-object/from16 v0, p0
5335 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5337 + #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5338 + invoke-static {v1}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5340 + move-result-object v1
5344 + move-object/from16 v0, p0
5346 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5348 + invoke-interface {v1, v2, v3}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5353 + move-object/from16 v0, p0
5355 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5357 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5358 - invoke-static {v5}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5359 + invoke-static {v1}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5361 - move-result-object v5
5362 + move-result-object v1
5364 - if-eqz v5, :cond_23
5365 + if-eqz v1, :cond_7b
5367 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5368 + if-eqz v8, :cond_11f
5370 + move-object/from16 v0, p0
5372 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5374 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5375 - invoke-static {v5}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5376 + invoke-static {v1}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5378 - move-result-object v6
5379 + move-result-object v2
5381 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5382 + move-object/from16 v0, p1
5385 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5390 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5393 - invoke-interface {v6, v5, v7}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5394 + move-object/from16 v0, p0
5397 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5400 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5401 + invoke-interface {v2, v1, v3}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5403 - #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5404 - invoke-static {v6}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5408 + move-object/from16 v0, p0
5410 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5412 + #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5413 + invoke-static {v1}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5415 + move-result-object v1
5417 + move-object/from16 v0, p0
5419 + iget-object v2, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5421 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5422 + invoke-static {v2}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5424 move-result-object v2
5426 - if-eqz v2, :cond_23
5427 + move-object/from16 v0, p0
5429 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5431 + invoke-interface {v1, v2, v3}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5436 + move-object/from16 v0, p0
5438 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5439 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5441 + #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5442 + invoke-static {v1}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5444 + move-result-object v11
5446 + if-eqz v11, :cond_7b
5448 + move-object/from16 v0, p0
5450 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5452 #getter for: Landroid/hardware/Camera;->mOneShot:Z
5453 - invoke-static {v6}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;)Z
5454 + invoke-static {v1}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Z
5459 - if-eqz v6, :cond_8c
5460 + if-eqz v1, :cond_167
5462 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5463 + move-object/from16 v0, p0
5466 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5470 #setter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5471 - invoke-static {v5, v6}, Landroid/hardware/Camera;->access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5472 + invoke-static {v1, v2}, Landroid/hardware/Camera;->access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5476 + if-eqz v8, :cond_17b
5478 + move-object/from16 v0, p1
5482 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5483 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5491 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5492 + move-object/from16 v0, p0
5494 - invoke-interface {v2, v5, v6}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5495 + iget-object v2, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5498 + invoke-interface {v11, v1, v2}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5501 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5505 + move-object/from16 v0, p0
5507 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5509 #getter for: Landroid/hardware/Camera;->mWithBuffer:Z
5510 - invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Z
5511 + invoke-static {v1}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Z
5516 + if-nez v1, :cond_154
5518 - if-nez v6, :cond_80
5519 + move-object/from16 v0, p0
5521 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5522 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5528 #calls: Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5529 - invoke-static {v6, v5, v4}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;ZZ)V
5530 + invoke-static {v1, v2, v3}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;ZZ)V
5535 + move-object/from16 v0, p0
5537 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5539 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5540 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5542 + move-result-object v1
5545 + move-object/from16 v0, p0
5548 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5549 + iget-object v2, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5551 + invoke-interface {v11, v1, v2}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5556 + move-object/from16 v0, p0
5558 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5560 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5561 - invoke-static {v5}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5562 + invoke-static {v1}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5564 + move-result-object v1
5566 + if-eqz v1, :cond_7b
5568 + if-eqz v8, :cond_1b1
5570 + move-object/from16 v0, p0
5572 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5574 + #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5575 + invoke-static {v1}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5577 + move-result-object v2
5579 + move-object/from16 v0, p1
5581 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5587 + move-object/from16 v0, p0
5589 - move-result-object v5
5590 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5592 - if-eqz v5, :cond_23
5593 + invoke-interface {v2, v1, v3}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5595 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5599 + move-object/from16 v0, p0
5601 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5603 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5604 - invoke-static {v5}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5605 + invoke-static {v1}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5607 - move-result-object v6
5608 + move-result-object v1
5610 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5611 + move-object/from16 v0, p0
5614 + iget-object v2, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5617 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5618 + invoke-static {v2}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5620 + move-result-object v2
5622 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5623 + move-object/from16 v0, p0
5625 - invoke-interface {v6, v5, v7}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5626 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5629 + invoke-interface {v1, v2, v3}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5635 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5639 + move-object/from16 v0, p0
5641 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5643 #getter for: Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5644 - invoke-static {v6}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5645 + invoke-static {v1}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5647 - move-result-object v6
5648 + move-result-object v2
5654 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5656 + move-object/from16 v0, p0
5658 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5660 #getter for: Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5661 - invoke-static {v7}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5662 + invoke-static {v1}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5664 + move-result-object v9
5668 + .catchall {:try_start_1d4 .. :try_end_1dd} :catchall_1ef
5670 - move-result-object v0
5671 + if-eqz v9, :cond_7b
5675 - .catchall {:try_start_bd .. :try_end_c4} :catchall_d1
5676 + move-object/from16 v0, p1
5678 - if-eqz v0, :cond_23
5679 + iget v1, v0, Landroid/os/Message;->arg1:I
5681 - iget v6, p1, Landroid/os/Message;->arg1:I
5682 + if-nez v1, :cond_1f2
5684 - if-nez v6, :cond_d4
5688 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5690 + move-object/from16 v0, p0
5692 - invoke-interface {v0, v4, v5}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5693 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5696 + invoke-interface {v9, v14, v1}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5705 - .catchall {:try_start_d2 .. :try_end_d3} :catchall_d1
5713 + .catchall {:try_start_1f0 .. :try_end_1f1} :catchall_1ef
5724 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5728 + move-object/from16 v0, p0
5730 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5732 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5733 - invoke-static {v6}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5734 + invoke-static {v1}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5736 + move-result-object v1
5738 - move-result-object v6
5739 + if-eqz v1, :cond_7b
5741 - if-eqz v6, :cond_23
5742 + move-object/from16 v0, p0
5744 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5745 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5747 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5748 - invoke-static {v6}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5749 + invoke-static {v1}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5751 - move-result-object v6
5752 + move-result-object v2
5754 + move-object/from16 v0, p1
5756 + iget v3, v0, Landroid/os/Message;->arg1:I
5758 + move-object/from16 v0, p1
5760 - iget v7, p1, Landroid/os/Message;->arg1:I
5761 + iget v1, v0, Landroid/os/Message;->arg2:I
5763 - iget v8, p1, Landroid/os/Message;->arg2:I
5764 + if-eqz v1, :cond_21a
5766 - if-eqz v8, :cond_f1
5770 - iget-object v8, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5772 + move-object/from16 v0, p0
5774 - invoke-interface {v6, v7, v5, v8}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5775 + iget-object v4, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5778 + invoke-interface {v2, v3, v1, v4}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5791 + move-object/from16 v0, p0
5794 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5795 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5797 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5798 - invoke-static {v5}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5799 + invoke-static {v1}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5801 - move-result-object v5
5802 + move-result-object v1
5804 - if-eqz v5, :cond_23
5805 + if-eqz v1, :cond_7b
5807 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5808 + move-object/from16 v0, p0
5810 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5812 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5813 - invoke-static {v5}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5814 + invoke-static {v1}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5816 + move-result-object v2
5818 - move-result-object v6
5819 + move-object/from16 v0, p1
5821 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5822 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
5824 - check-cast v5, [Landroid/hardware/Camera$Face;
5825 + check-cast v1, [Landroid/hardware/Camera$Face;
5827 - check-cast v5, [Landroid/hardware/Camera$Face;
5828 + check-cast v1, [Landroid/hardware/Camera$Face;
5830 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5831 + move-object/from16 v0, p0
5833 - invoke-interface {v6, v5, v7}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5834 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5837 + invoke-interface {v2, v1, v3}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5840 - const-string v5, "Camera"
5843 - new-instance v6, Ljava/lang/StringBuilder;
5845 + const-string v1, "Camera"
5847 - invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
5848 + new-instance v2, Ljava/lang/StringBuilder;
5850 - const-string v7, "Error "
5851 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
5853 - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5854 + const-string v3, "Error "
5856 - move-result-object v6
5857 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5859 - iget v7, p1, Landroid/os/Message;->arg1:I
5860 + move-result-object v2
5862 - invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5863 + move-object/from16 v0, p1
5865 - move-result-object v6
5866 + iget v3, v0, Landroid/os/Message;->arg1:I
5868 - invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5869 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5871 - move-result-object v6
5872 + move-result-object v2
5874 - invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5875 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5877 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5878 + move-result-object v2
5880 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5882 + move-object/from16 v0, p0
5884 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5886 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5887 - invoke-static {v5}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5888 + invoke-static {v1}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5890 + move-result-object v1
5892 - move-result-object v5
5893 + if-eqz v1, :cond_7b
5895 - if-eqz v5, :cond_23
5896 + move-object/from16 v0, p0
5898 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5899 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5901 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5902 - invoke-static {v5}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5903 + invoke-static {v1}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5905 + move-result-object v1
5907 + move-object/from16 v0, p1
5909 + iget v2, v0, Landroid/os/Message;->arg1:I
5911 - move-result-object v5
5912 + move-object/from16 v0, p0
5914 - iget v6, p1, Landroid/os/Message;->arg1:I
5915 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5917 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5918 + invoke-interface {v1, v2, v3}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5920 - invoke-interface {v5, v6, v7}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5925 + move-object/from16 v0, p0
5928 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5929 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5931 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5932 - invoke-static {v6}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5933 + invoke-static {v1}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5935 - move-result-object v6
5936 + move-result-object v1
5938 - if-eqz v6, :cond_23
5939 + if-eqz v1, :cond_7b
5941 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5942 + move-object/from16 v0, p0
5944 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5946 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5947 - invoke-static {v6}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5948 + invoke-static {v1}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5950 + move-result-object v2
5952 - move-result-object v6
5953 + move-object/from16 v0, p1
5955 - iget v7, p1, Landroid/os/Message;->arg1:I
5956 + iget v1, v0, Landroid/os/Message;->arg1:I
5958 - if-nez v7, :cond_158
5959 + if-nez v1, :cond_29c
5962 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5965 - invoke-interface {v6, v4, v5}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5967 + move-object/from16 v0, p0
5970 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5974 + invoke-interface {v2, v1, v3}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5980 - new-array v3, v7, [I
5988 + const/16 v1, 0x101
5991 - if-ge v1, v7, :cond_170
5992 + new-array v13, v1, [I
5994 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5999 + const/16 v1, 0x101
6002 + if-ge v10, v1, :cond_2ba
6004 - mul-int/lit8 v6, v1, 0x4
6005 + move-object/from16 v0, p1
6007 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6013 + mul-int/lit8 v2, v10, 0x4
6015 #calls: Landroid/hardware/Camera;->byteToInt([BI)I
6016 - invoke-static {v5, v6}, Landroid/hardware/Camera;->access$1400([BI)I
6017 + invoke-static {v1, v2}, Landroid/hardware/Camera;->access$2100([BI)I
6025 + add-int/lit8 v10, v10, 0x1
6027 - add-int/lit8 v1, v1, 0x1
6032 + move-object/from16 v0, p0
6035 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6036 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6038 #getter for: Landroid/hardware/Camera;->mCameraDataCallback:Landroid/hardware/Camera$CameraDataCallback;
6039 - invoke-static {v5}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraDataCallback;
6040 + invoke-static {v1}, Landroid/hardware/Camera;->access$2200(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraDataCallback;
6042 + move-result-object v1
6044 - move-result-object v5
6045 + if-eqz v1, :cond_7b
6047 - if-eqz v5, :cond_23
6048 + move-object/from16 v0, p0
6050 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6051 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6053 #getter for: Landroid/hardware/Camera;->mCameraDataCallback:Landroid/hardware/Camera$CameraDataCallback;
6054 - invoke-static {v5}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraDataCallback;
6055 + invoke-static {v1}, Landroid/hardware/Camera;->access$2200(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraDataCallback;
6057 - move-result-object v5
6058 + move-result-object v1
6060 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
6061 + move-object/from16 v0, p0
6063 - invoke-interface {v5, v3, v6}, Landroid/hardware/Camera$CameraDataCallback;->onCameraData([ILandroid/hardware/Camera;)V
6064 + iget-object v2, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
6067 + invoke-interface {v1, v13, v2}, Landroid/hardware/Camera$CameraDataCallback;->onCameraData([ILandroid/hardware/Camera;)V
6070 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6074 + move-object/from16 v0, p0
6076 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6078 #getter for: Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
6079 - invoke-static {v5}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
6080 + invoke-static {v1}, Landroid/hardware/Camera;->access$2300(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
6082 + move-result-object v1
6084 - move-result-object v5
6085 + if-eqz v1, :cond_7b
6087 - if-eqz v5, :cond_23
6088 + move-object/from16 v0, p0
6090 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6091 + iget-object v1, v0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
6093 #getter for: Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
6094 - invoke-static {v5}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
6095 + invoke-static {v1}, Landroid/hardware/Camera;->access$2300(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
6097 + move-result-object v2
6099 + move-object/from16 v0, p1
6101 - move-result-object v6
6102 + iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
6104 - iget-object v5, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
6111 + move-object/from16 v0, p0
6113 - iget-object v7, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
6114 + iget-object v3, v0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
6116 - invoke-interface {v6, v5, v7}, Landroid/hardware/Camera$CameraMetaDataCallback;->onCameraMetaData([ILandroid/hardware/Camera;)V
6117 + invoke-interface {v2, v1, v3}, Landroid/hardware/Camera$CameraMetaDataCallback;->onCameraMetaData([ILandroid/hardware/Camera;)V
6125 - 0x1 -> :sswitch_10e
6126 - 0x2 -> :sswitch_24
6127 - 0x4 -> :sswitch_b5
6128 - 0x8 -> :sswitch_d6
6129 - 0x10 -> :sswitch_6a
6130 - 0x40 -> :sswitch_9a
6131 - 0x80 -> :sswitch_36
6132 - 0x100 -> :sswitch_50
6133 - 0x400 -> :sswitch_f3
6134 - 0x800 -> :sswitch_13f
6135 - 0x1000 -> :sswitch_15a
6136 - 0x2000 -> :sswitch_185
6137 + 0x1 -> :sswitch_23f
6138 + 0x2 -> :sswitch_af
6139 + 0x4 -> :sswitch_1ca
6140 + 0x8 -> :sswitch_1f4
6141 + 0x10 -> :sswitch_138
6142 + 0x40 -> :sswitch_18c
6143 + 0x80 -> :sswitch_c5
6144 + 0x100 -> :sswitch_fa
6145 + 0x400 -> :sswitch_21c
6146 + 0x800 -> :sswitch_27a
6147 + 0x1000 -> :sswitch_29e
6148 + 0x2000 -> :sswitch_2d5
6151 diff -Npruw stock-framework/smali/android/hardware/Camera.smali pdroid-framework/smali/android/hardware/Camera.smali
6152 --- stock-framework/smali/android/hardware/Camera.smali 2013-08-15 23:20:16.264304531 -0500
6153 +++ pdroid-framework/smali/android/hardware/Camera.smali 2013-08-15 23:20:07.172304799 -0500
6156 .field private static final CAMERA_MSG_ZOOM:I = 0x8
6158 +.field private static final GOT_ERROR:I = -0x3
6160 +.field private static final IS_ALLOWED:I = -0x1
6162 +.field private static final IS_NOT_ALLOWED:I = -0x2
6164 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,Camera"
6166 .field private static final TAG:Ljava/lang/String; = "Camera"
6170 +.field private context:Landroid/content/Context;
6172 .field private mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
6174 .field private mAutoFocusCallbackLock:Ljava/lang/Object;
6177 .field private mOneShot:Z
6179 +.field private mPm:Landroid/content/pm/IPackageManager;
6181 .field private mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
6183 .field private mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
6184 @@ -109,16 +121,20 @@
6186 .field private mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
6188 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
6190 +.field private privacyMode:Z
6194 .method constructor <init>()V
6198 - invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6202 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6204 - iput-boolean v0, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
6205 + iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
6207 new-instance v0, Ljava/lang/Object;
6209 @@ -126,19 +142,21 @@
6211 iput-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
6213 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6218 .method constructor <init>(I)V
6226 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
6230 - iput-boolean v2, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
6231 + iput-boolean v4, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
6233 new-instance v2, Ljava/lang/Object;
6237 iput-object v2, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
6239 + iput-boolean v4, p0, Landroid/hardware/Camera;->privacyMode:Z
6241 iput-object v3, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6243 iput-object v3, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6244 @@ -162,11 +182,13 @@
6246 iput-object v3, p0, Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
6248 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
6250 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
6252 move-result-object v0
6254 - if-eqz v0, :cond_38
6255 + if-eqz v0, :cond_3d
6257 new-instance v2, Landroid/hardware/Camera$EventHandler;
6261 iput-object v2, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
6265 invoke-static {}, Landroid/app/ActivityThread;->currentPackageName()Ljava/lang/String;
6267 move-result-object v1
6268 @@ -187,12 +209,12 @@
6274 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
6276 move-result-object v0
6278 - if-eqz v0, :cond_46
6279 + if-eqz v0, :cond_4b
6281 new-instance v2, Landroid/hardware/Camera$EventHandler;
6283 @@ -200,12 +222,12 @@
6285 iput-object v2, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
6292 iput-object v3, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
6298 .method private final native _addCallbackBuffer([BI)V
6299 @@ -226,23 +248,87 @@
6300 .method private final native _stopPreview()V
6303 -.method static synthetic access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
6304 +.method static synthetic access$000(Landroid/hardware/Camera;)Z
6307 - iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6308 + iget-boolean v0, p0, Landroid/hardware/Camera;->privacyMode:Z
6313 +.method static synthetic access$100(Landroid/hardware/Camera;)V
6316 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
6321 +.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
6324 + iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
6329 -.method static synthetic access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
6330 +.method static synthetic access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
6333 - iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6334 + iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
6339 +.method static synthetic access$1100(Landroid/hardware/Camera;)Z
6342 + iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
6347 +.method static synthetic access$1200(Landroid/hardware/Camera;)Z
6350 + iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
6355 +.method static synthetic access$1300(Landroid/hardware/Camera;ZZ)V
6358 + invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
6363 +.method static synthetic access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
6366 + iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
6371 -.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
6372 +.method static synthetic access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
6375 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
6380 +.method static synthetic access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
6383 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
6388 +.method static synthetic access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
6391 iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
6396 -.method static synthetic access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
6397 +.method static synthetic access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
6400 iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
6405 -.method static synthetic access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
6406 +.method static synthetic access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
6409 iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
6410 @@ -266,7 +352,17 @@
6414 -.method static synthetic access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
6415 +.method static synthetic access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
6418 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
6420 + move-result-object v0
6425 +.method static synthetic access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
6428 iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
6433 -.method static synthetic access$1400([BI)I
6434 +.method static synthetic access$2100([BI)I
6437 invoke-static {p0, p1}, Landroid/hardware/Camera;->byteToInt([BI)I
6442 -.method static synthetic access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraDataCallback;
6443 +.method static synthetic access$2200(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraDataCallback;
6446 iget-object v0, p0, Landroid/hardware/Camera;->mCameraDataCallback:Landroid/hardware/Camera$CameraDataCallback;
6451 -.method static synthetic access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
6452 +.method static synthetic access$2300(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
6455 iget-object v0, p0, Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
6456 @@ -300,74 +396,62 @@
6460 -.method static synthetic access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
6461 +.method static synthetic access$300(Landroid/hardware/Camera;)I
6464 - iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6469 -.method static synthetic access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
6471 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
6473 - iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
6480 -.method static synthetic access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
6481 +.method static synthetic access$400(Landroid/hardware/Camera;Z)V
6484 - iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
6485 + invoke-direct {p0, p1}, Landroid/hardware/Camera;->dataAccess(Z)V
6491 -.method static synthetic access$400(Landroid/hardware/Camera;)Z
6492 +.method static synthetic access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
6495 - iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
6496 + iget-object v0, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6502 -.method static synthetic access$500(Landroid/hardware/Camera;)Z
6503 +.method static synthetic access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
6506 - iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
6511 -.method static synthetic access$600(Landroid/hardware/Camera;ZZ)V
6514 - invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
6515 + iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6521 .method static synthetic access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
6524 - iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
6525 + iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6530 -.method static synthetic access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
6531 +.method static synthetic access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
6534 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
6535 + iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6540 -.method static synthetic access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
6541 +.method static synthetic access$900(Landroid/hardware/Camera;)[B
6544 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
6545 + invoke-direct {p0}, Landroid/hardware/Camera;->getFakeImage()[B
6547 + move-result-object v0
6551 @@ -449,6 +533,205 @@
6555 +.method private checkIfPackagesAllowed()I
6561 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6563 + if-eqz v6, :cond_41
6567 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
6569 + move-result-object v3
6571 + invoke-static {}, Landroid/os/Process;->myUid()I
6575 + if-eqz v3, :cond_2c
6580 + array-length v6, v3
6582 + if-ge v1, v6, :cond_2a
6584 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6586 + aget-object v7, v3, v1
6588 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6590 + move-result-object v2
6592 + if-eqz v2, :cond_26
6594 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
6598 + if-eqz v6, :cond_26
6608 + add-int/lit8 v1, v1, 0x1
6618 + const-string v6, "PM,Camera"
6620 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
6622 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6624 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
6631 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6633 + const-string v6, "PM,Camera"
6635 + const-string v7, "Got exception in checkIfPackagesAllowed"
6637 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6643 + const-string v6, "PM,Camera"
6645 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
6647 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6649 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
6654 +.method private dataAccess(Z)V
6657 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
6659 + move-result-object v1
6661 + if-eqz p1, :cond_2f
6663 + if-eqz v1, :cond_2f
6668 + array-length v2, v1
6670 + if-ge v0, v2, :cond_58
6672 + const-string v2, "PM,Camera"
6674 + new-instance v3, Ljava/lang/StringBuilder;
6676 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6678 + const-string v4, "Allowed Package: -"
6680 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6682 + move-result-object v3
6684 + aget-object v4, v1, v0
6686 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6688 + move-result-object v3
6690 + const-string v4, "- accessing camera."
6692 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6694 + move-result-object v3
6696 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6698 + move-result-object v3
6700 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6702 + add-int/lit8 v0, v0, 0x1
6707 + if-eqz v1, :cond_58
6712 + array-length v2, v1
6714 + if-ge v0, v2, :cond_58
6716 + const-string v2, "PM,Camera"
6718 + new-instance v3, Ljava/lang/StringBuilder;
6720 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6722 + const-string v4, "Blocked Package: -"
6724 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6726 + move-result-object v3
6728 + aget-object v4, v1, v0
6730 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6732 + move-result-object v3
6734 + const-string v4, "- accessing camera."
6736 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6738 + move-result-object v3
6740 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6742 + move-result-object v3
6744 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6746 + add-int/lit8 v0, v0, 0x1
6754 .method private native enableFocusMoveCallback(I)V
6757 @@ -514,9 +797,193 @@
6761 +.method private getFakeImage()[B
6765 + const-string v2, "/system/media/PDroid.jpeg"
6767 + new-instance v5, Ljava/io/File;
6769 + invoke-direct {v5, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6773 + new-instance v3, Ljava/io/FileInputStream;
6775 + invoke-direct {v3, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
6777 + invoke-static {v3}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
6779 + move-result-object v0
6781 + new-instance v4, Ljava/io/ByteArrayOutputStream;
6783 + invoke-direct {v4}, Ljava/io/ByteArrayOutputStream;-><init>()V
6785 + sget-object v6, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
6789 + invoke-virtual {v0, v6, v7, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
6791 + invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
6793 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_20} :catch_22
6795 + move-result-object v6
6803 + const-string v6, "PM,Camera"
6805 + const-string/jumbo v7, "something went wrong with getting the picture!"
6807 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6809 + invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
6816 .method public static native getNumberOfCameras()I
6819 +.method private getPackageName()[Ljava/lang/String;
6823 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6825 + if-eqz v3, :cond_f
6827 + invoke-static {}, Landroid/os/Process;->myUid()I
6831 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6833 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6835 + move-result-object v1
6841 + const-string/jumbo v3, "package"
6843 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6845 + move-result-object v3
6847 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6849 + move-result-object v3
6851 + iput-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6853 + invoke-static {}, Landroid/os/Process;->myUid()I
6857 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6859 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6861 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6863 + move-result-object v1
6870 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6872 + const-string v3, "PM,Camera"
6874 + const-string/jumbo v4, "something went wrong with getting package name"
6876 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6883 +.method private initiate()V
6889 + iput-object v1, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6891 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6893 + iget-object v2, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6895 + const-string/jumbo v3, "privacy"
6897 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6899 + move-result-object v3
6901 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6903 + move-result-object v3
6905 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6907 + iput-object v1, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6909 + const-string/jumbo v1, "package"
6911 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6913 + move-result-object v1
6915 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6917 + move-result-object v1
6919 + iput-object v1, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6923 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6925 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6933 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6935 + const-string v1, "PM,Camera"
6937 + const-string v2, "Something went wrong with initalize variables"
6939 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6943 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6948 .method private final native native_autoFocus()V
6951 @@ -1170,7 +1637,7 @@
6954 .method public final takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
6958 iput-object p1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6960 @@ -1180,36 +1647,62 @@
6962 iput-object p4, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6964 + iget-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6966 + if-nez v1, :cond_f
6968 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
6971 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
6977 + if-ne v1, v2, :cond_20
6981 + iput-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6983 + const-string v1, "PM,Camera"
6985 + const-string v2, "blocked rawImageCallback -> it will never be called!"
6987 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6992 iget-object v1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6994 - if-eqz v1, :cond_f
6995 + if-eqz v1, :cond_27
6997 or-int/lit8 v0, v0, 0x2
7001 iget-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
7003 - if-eqz v1, :cond_15
7004 + if-eqz v1, :cond_2d
7006 or-int/lit16 v0, v0, 0x80
7010 iget-object v1, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
7012 - if-eqz v1, :cond_1b
7013 + if-eqz v1, :cond_33
7015 or-int/lit8 v0, v0, 0x40
7019 iget-object v1, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
7021 - if-eqz v1, :cond_21
7022 + if-eqz v1, :cond_39
7024 or-int/lit16 v0, v0, 0x100
7028 invoke-direct {p0, v0}, Landroid/hardware/Camera;->native_takePicture(I)V
7031 diff -Npruw stock-framework/smali/android/media/AudioRecord.smali pdroid-framework/smali/android/media/AudioRecord.smali
7032 --- stock-framework/smali/android/media/AudioRecord.smali 2013-08-15 23:20:16.404304526 -0500
7033 +++ pdroid-framework/smali/android/media/AudioRecord.smali 2013-08-15 23:20:07.316304795 -0500
7036 .field public static final ERROR_INVALID_OPERATION:I = -0x3
7038 +.field private static final GOT_ERROR:I = -0x3
7040 +.field private static final IS_ALLOWED:I = -0x1
7042 +.field private static final IS_NOT_ALLOWED:I = -0x2
7044 .field private static final NATIVE_EVENT_MARKER:I = 0x2
7046 .field private static final NATIVE_EVENT_NEW_POS:I = 0x3
7048 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,AudioRecord"
7050 .field public static final RECORDSTATE_RECORDING:I = 0x3
7052 .field public static final RECORDSTATE_STOPPED:I = 0x1
7057 +.field private context:Landroid/content/Context;
7059 .field private mAudioFormat:I
7061 .field private mChannelConfiguration:I
7064 .field private mNativeRecorderInJavaObj:I
7066 +.field private mPm:Landroid/content/pm/IPackageManager;
7068 .field private mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
7070 .field private final mPositionListenerLock:Ljava/lang/Object;
7073 .field private mState:I
7075 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
7077 +.field private privacyMode:Z
7081 .method public constructor <init>(IIIII)V
7082 @@ -159,6 +175,10 @@
7086 + iput-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
7090 iput v0, p0, Landroid/media/AudioRecord;->mState:I
7095 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
7097 - if-nez v0, :cond_4f
7098 + if-nez v0, :cond_52
7100 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
7104 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
7108 invoke-direct {p0, p1, p2, p3, p4}, Landroid/media/AudioRecord;->audioParamCheck(IIII)V
7110 invoke-direct {p0, p5}, Landroid/media/AudioRecord;->audioBuffSizeCheck(I)V
7115 - if-eqz v8, :cond_8f
7116 + if-eqz v8, :cond_92
7118 new-instance v0, Ljava/lang/StringBuilder;
7120 @@ -242,10 +262,12 @@
7122 invoke-static {v0}, Landroid/media/AudioRecord;->loge(Ljava/lang/String;)V
7130 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
7137 iput v0, p0, Landroid/media/AudioRecord;->mState:I
7143 .method static synthetic access$000(Landroid/media/AudioRecord;)Ljava/lang/Object;
7144 @@ -491,6 +513,205 @@
7148 +.method private checkIfPackagesAllowed()I
7154 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7156 + if-eqz v6, :cond_41
7160 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
7162 + move-result-object v3
7164 + invoke-static {}, Landroid/os/Process;->myUid()I
7168 + if-eqz v3, :cond_2c
7173 + array-length v6, v3
7175 + if-ge v1, v6, :cond_2a
7177 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7179 + aget-object v7, v3, v1
7181 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7183 + move-result-object v2
7185 + if-eqz v2, :cond_26
7187 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7191 + if-eqz v6, :cond_26
7201 + add-int/lit8 v1, v1, 0x1
7211 + const-string v6, "PM,AudioRecord"
7213 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
7215 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7217 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
7224 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7226 + const-string v6, "PM,AudioRecord"
7228 + const-string v7, "Got exception in checkIfPackagesAllowed"
7230 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7236 + const-string v6, "PM,AudioRecord"
7238 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
7240 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7242 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
7247 +.method private dataAccess(Z)V
7250 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
7252 + move-result-object v1
7254 + if-eqz p1, :cond_2f
7256 + if-eqz v1, :cond_2f
7261 + array-length v2, v1
7263 + if-ge v0, v2, :cond_58
7265 + const-string v2, "PM,AudioRecord"
7267 + new-instance v3, Ljava/lang/StringBuilder;
7269 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7271 + const-string v4, "Allowed Package: -"
7273 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7275 + move-result-object v3
7277 + aget-object v4, v1, v0
7279 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7281 + move-result-object v3
7283 + const-string v4, "- accessing microphone."
7285 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7287 + move-result-object v3
7289 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7291 + move-result-object v3
7293 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7295 + add-int/lit8 v0, v0, 0x1
7300 + if-eqz v1, :cond_58
7305 + array-length v2, v1
7307 + if-ge v0, v2, :cond_58
7309 + const-string v2, "PM,AudioRecord"
7311 + new-instance v3, Ljava/lang/StringBuilder;
7313 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7315 + const-string v4, "Blocked Package: -"
7317 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7319 + move-result-object v3
7321 + aget-object v4, v1, v0
7323 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7325 + move-result-object v3
7327 + const-string v4, "- accessing microphone."
7329 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7331 + move-result-object v3
7333 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7335 + move-result-object v3
7337 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7339 + add-int/lit8 v0, v0, 0x1
7347 .method public static getMinBufferSize(III)I
7350 @@ -582,6 +803,135 @@
7354 +.method private getPackageName()[Ljava/lang/String;
7358 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
7360 + if-eqz v3, :cond_f
7362 + invoke-static {}, Landroid/os/Process;->myUid()I
7366 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
7368 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7370 + move-result-object v1
7376 + const-string/jumbo v3, "package"
7378 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7380 + move-result-object v3
7382 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
7384 + move-result-object v3
7386 + iput-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
7388 + invoke-static {}, Landroid/os/Process;->myUid()I
7392 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
7394 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7396 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
7398 + move-result-object v1
7405 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7407 + const-string v3, "PM,AudioRecord"
7409 + const-string/jumbo v4, "something went wrong with getting package name"
7411 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7418 +.method private initiate()V
7424 + iput-object v1, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
7426 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
7428 + iget-object v2, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
7430 + const-string/jumbo v3, "privacy"
7432 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7434 + move-result-object v3
7436 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
7438 + move-result-object v3
7440 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7442 + iput-object v1, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7444 + const-string/jumbo v1, "package"
7446 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7448 + move-result-object v1
7450 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
7452 + move-result-object v1
7454 + iput-object v1, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
7458 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
7460 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
7468 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7470 + const-string v1, "PM,AudioRecord"
7472 + const-string v2, "Something went wrong with initalize variables"
7474 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7478 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
7483 .method private static logd(Ljava/lang/String;)V
7486 @@ -1032,19 +1382,68 @@
7489 .method public startRecording()V
7492 .annotation system Ldalvik/annotation/Throws;
7494 Ljava/lang/IllegalStateException;
7504 + iget-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
7506 + if-nez v0, :cond_a
7508 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
7511 iget v0, p0, Landroid/media/AudioRecord;->mState:I
7514 + if-ne v0, v3, :cond_15
7516 + invoke-direct {p0}, Landroid/media/AudioRecord;->checkIfPackagesAllowed()I
7522 + if-ne v0, v1, :cond_3d
7524 - if-eq v0, v1, :cond_e
7526 + invoke-direct {p0, v2}, Landroid/media/AudioRecord;->dataAccess(Z)V
7528 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
7530 + move-result-object v7
7532 + if-eqz v7, :cond_34
7534 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7536 + aget-object v1, v7, v2
7538 + const-string/jumbo v4, "recordAudio"
7540 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7542 + aget-object v8, v7, v2
7544 + invoke-static {}, Landroid/os/Process;->myUid()I
7548 + invoke-virtual {v6, v8, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7550 + move-result-object v6
7552 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7555 new-instance v0, Ljava/lang/IllegalStateException;
7557 const-string/jumbo v1, "startRecording() called on an uninitialized AudioRecord."
7558 @@ -1053,7 +1452,38 @@
7564 + invoke-direct {p0, v3}, Landroid/media/AudioRecord;->dataAccess(Z)V
7566 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
7568 + move-result-object v7
7570 + if-eqz v7, :cond_5d
7572 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7574 + aget-object v1, v7, v2
7576 + const-string/jumbo v4, "recordAudio"
7578 + iget-object v3, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7580 + aget-object v6, v7, v2
7582 + invoke-static {}, Landroid/os/Process;->myUid()I
7586 + invoke-virtual {v3, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7588 + move-result-object v6
7592 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7595 iget-object v1, p0, Landroid/media/AudioRecord;->mRecordingStateLock:Ljava/lang/Object;
7598 @@ -1062,28 +1492,28 @@
7604 invoke-direct {p0, v0, v2}, Landroid/media/AudioRecord;->native_start(II)I
7608 - if-nez v0, :cond_1c
7609 + if-nez v0, :cond_6b
7613 iput v0, p0, Landroid/media/AudioRecord;->mRecordingState:I
7627 - .catchall {:try_start_13 .. :try_end_20} :catchall_1e
7629 + .catchall {:try_start_62 .. :try_end_6f} :catchall_6d
7633 diff -Npruw stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali pdroid-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali
7634 --- stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 1969-12-31 18:00:00.000000000 -0600
7635 +++ pdroid-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 2013-08-15 23:20:07.396304793 -0500
7637 +.class Landroid/media/MediaRecorder$PrivacyRunner;
7638 +.super Ljava/lang/Thread;
7639 +.source "MediaRecorder.java"
7643 +.annotation system Ldalvik/annotation/EnclosingClass;
7644 + value = Landroid/media/MediaRecorder;
7647 +.annotation system Ldalvik/annotation/InnerClass;
7649 + name = "PrivacyRunner"
7654 +.field private static final OFFSET_DELAY:J = 0x9c4L
7658 +.field private delay:J
7660 +.field final synthetic this$0:Landroid/media/MediaRecorder;
7664 +.method public constructor <init>(Landroid/media/MediaRecorder;)V
7667 + iput-object p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7669 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
7671 + const-wide/16 v0, 0x9c4
7673 + iput-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7680 +.method public getDelay()J
7683 + iget-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7688 +.method public run()V
7692 + iget-wide v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7694 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
7696 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7698 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7699 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7701 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7703 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7704 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7706 + move-result-object v2
7708 + if-eqz v2, :cond_2f
7710 + new-instance v1, Ljava/io/File;
7712 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7714 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7715 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7717 + move-result-object v2
7719 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7721 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7725 + if-eqz v2, :cond_29
7727 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7731 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7732 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7734 + .catchall {:try_start_0 .. :try_end_29} :catchall_76
7735 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_29} :catch_57
7739 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7741 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7742 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7749 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7751 + #getter for: Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7752 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7754 + move-result-object v2
7756 + if-eqz v2, :cond_68
7758 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7760 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7761 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7763 + move-result-object v2
7765 + if-eqz v2, :cond_68
7767 + new-instance v1, Ljava/io/File;
7769 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7771 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7772 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7774 + move-result-object v2
7776 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7778 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7782 + if-eqz v2, :cond_29
7784 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7788 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7789 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7791 + .catchall {:try_start_2f .. :try_end_56} :catchall_76
7792 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_56} :catch_57
7800 + const-string v2, "PM,MediaRecorder"
7802 + const-string v3, "Something went wrong while waiting for cancel the stream!"
7804 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7806 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7808 + .catchall {:try_start_58 .. :try_end_62} :catchall_76
7810 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7812 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7813 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7819 + const-string v2, "PM,MediaRecorder"
7821 + const-string v3, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
7823 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7825 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7829 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7830 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7832 + .catchall {:try_start_68 .. :try_end_75} :catchall_76
7833 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_75} :catch_57
7840 + iget-object v3, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7842 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7843 + invoke-static {v3}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7848 +.method public setDelay(J)V
7851 + iput-wide p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7855 diff -Npruw stock-framework/smali/android/media/MediaRecorder.smali pdroid-framework/smali/android/media/MediaRecorder.smali
7856 --- stock-framework/smali/android/media/MediaRecorder.smali 2013-08-15 23:20:16.488304524 -0500
7857 +++ pdroid-framework/smali/android/media/MediaRecorder.smali 2013-08-15 23:20:07.400304793 -0500
7860 .annotation system Ldalvik/annotation/MemberClasses;
7862 + Landroid/media/MediaRecorder$PrivacyRunner;,
7863 Landroid/media/MediaRecorder$EventHandler;,
7864 Landroid/media/MediaRecorder$OnInfoListener;,
7865 Landroid/media/MediaRecorder$OnErrorListener;,
7870 +.field private static final BOTH_DATA_ACCESS:I = 0xb
7872 +.field private static final GOT_ERROR:I = -0x3
7874 +.field private static final IS_ALLOWED:I = -0x1
7876 +.field private static final IS_NOT_ALLOWED:I = -0x2
7878 .field public static final MEDIA_ERROR_SERVER_DIED:I = 0x64
7880 .field public static final MEDIA_RECORDER_ERROR_UNKNOWN:I = 0x1
7883 .field public static final MEDIA_RECORDER_TRACK_INTER_CHUNK_TIME_MS:I = 0x3ee
7885 +.field private static final MIC_DATA_ACCESS:I = 0xa
7887 +.field private static final MODE_RECORD_AUDIO:I = 0x2
7889 +.field private static final MODE_RECORD_BOTH:I = 0x3
7891 +.field private static final PRIVACY_PATH_DEF:Ljava/lang/String; = "/data/data/"
7893 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MediaRecorder"
7895 +.field private static final STATE_RECORD_AUDIO:I = 0x0
7897 +.field private static final STATE_RECORD_BOTH:I = 0x1
7899 .field private static final TAG:Ljava/lang/String; = "MediaRecorder"
7903 +.field private ACTUAL_STATE:I
7905 +.field private context:Landroid/content/Context;
7907 +.field private deletedFile:Z
7909 .field private mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7911 .field private mFd:Ljava/io/FileDescriptor;
7914 .field private mPath:Ljava/lang/String;
7916 +.field private mPm:Landroid/content/pm/IPackageManager;
7918 .field private mSurface:Landroid/view/Surface;
7920 +.field private pFileDescriptor:Ljava/io/FileDescriptor;
7922 +.field private pFileDescriptorPath:Ljava/lang/String;
7924 +.field private pPath:Ljava/lang/String;
7926 +.field private pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7928 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
7930 +.field private privacyMode:Z
7932 +.field private stoppedStream:Z
7936 .method static constructor <clinit>()V
7937 @@ -86,15 +131,35 @@
7940 .method public constructor <init>()V
7948 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7950 + iput-object v2, p0, Landroid/media/MediaRecorder;->pPath:Ljava/lang/String;
7952 + iput-object v2, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7954 + iput-object v2, p0, Landroid/media/MediaRecorder;->pFileDescriptor:Ljava/io/FileDescriptor;
7956 + iput-object v2, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7958 + iput-boolean v3, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7960 + iput-boolean v3, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7962 + iput-boolean v3, p0, Landroid/media/MediaRecorder;->stoppedStream:Z
7964 + iput v3, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7966 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
7968 move-result-object v0
7970 - if-eqz v0, :cond_1d
7971 + if-eqz v0, :cond_32
7973 new-instance v2, Landroid/media/MediaRecorder$EventHandler;
7977 iput-object v2, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7981 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
7983 invoke-static {}, Landroid/app/ActivityThread;->currentPackageName()Ljava/lang/String;
7985 move-result-object v1
7986 @@ -115,12 +182,12 @@
7992 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
7994 move-result-object v0
7996 - if-eqz v0, :cond_2b
7997 + if-eqz v0, :cond_40
7999 new-instance v2, Landroid/media/MediaRecorder$EventHandler;
8001 @@ -128,14 +195,12 @@
8003 iput-object v2, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
8012 iput-object v2, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
8018 .method private native _prepare()V
8019 @@ -180,12 +245,1724 @@
8023 -.method public static final getAudioSourceMax()I
8024 +.method static synthetic access$300(Landroid/media/MediaRecorder;)V
8028 + invoke-direct {p0}, Landroid/media/MediaRecorder;->privacyStop()V
8033 +.method static synthetic access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
8036 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
8041 +.method static synthetic access$502(Landroid/media/MediaRecorder;Z)Z
8044 + iput-boolean p1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
8049 +.method static synthetic access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
8052 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
8057 +.method static synthetic access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
8060 + iget-object v0, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8065 +.method private checkIfPackagesAllowed(I)I
8075 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
8077 + if-eqz v8, :cond_5b
8081 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8083 + move-result-object v3
8085 + invoke-static {}, Landroid/os/Process;->myUid()I
8089 + if-eqz v3, :cond_51
8091 + packed-switch p1, :pswitch_data_72
8103 + array-length v8, v3
8105 + if-ge v1, v8, :cond_2f
8107 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
8109 + aget-object v9, v3, v1
8111 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
8113 + move-result-object v2
8115 + if-eqz v2, :cond_2b
8117 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
8121 + if-nez v8, :cond_16
8126 + add-int/lit8 v1, v1, 0x1
8139 + array-length v8, v3
8141 + if-ge v1, v8, :cond_4f
8143 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
8145 + aget-object v9, v3, v1
8147 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
8149 + move-result-object v2
8151 + if-eqz v2, :cond_4b
8153 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
8157 + if-nez v8, :cond_16
8159 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
8163 + if-nez v8, :cond_16
8168 + add-int/lit8 v1, v1, 0x1
8178 + const-string v5, "PM,MediaRecorder"
8180 + const-string/jumbo v6, "return GOT_ERROR, because package_names are NULL"
8182 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8189 + const-string v5, "PM,MediaRecorder"
8191 + const-string/jumbo v6, "return GOT_ERROR, because pSetMan is NULL"
8193 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8195 + .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_63} :catch_65
8204 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
8206 + const-string v5, "PM,MediaRecorder"
8208 + const-string v6, "Got exception in checkIfPackagesAllowed"
8210 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8217 + .packed-switch 0x2
8220 + .end packed-switch
8223 +.method private dataAccess(ZI)V
8226 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8228 + move-result-object v1
8230 + if-eqz p1, :cond_5a
8232 + if-eqz v1, :cond_5a
8234 + packed-switch p2, :pswitch_data_ae
8244 + array-length v2, v1
8246 + if-ge v0, v2, :cond_b
8248 + const-string v2, "PM,MediaRecorder"
8250 + new-instance v3, Ljava/lang/StringBuilder;
8252 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8254 + const-string v4, "Allowed Package: -"
8256 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8258 + move-result-object v3
8260 + aget-object v4, v1, v0
8262 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8264 + move-result-object v3
8266 + const-string v4, "- accessing microphone."
8268 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8270 + move-result-object v3
8272 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8274 + move-result-object v3
8276 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8278 + add-int/lit8 v0, v0, 0x1
8286 + array-length v2, v1
8288 + if-ge v0, v2, :cond_b
8290 + const-string v2, "PM,MediaRecorder"
8292 + new-instance v3, Ljava/lang/StringBuilder;
8294 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8296 + const-string v4, "Allowed Package: -"
8298 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8300 + move-result-object v3
8302 + aget-object v4, v1, v0
8304 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8306 + move-result-object v3
8308 + const-string v4, "- accessing microphone and camera."
8310 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8312 + move-result-object v3
8314 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8316 + move-result-object v3
8318 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8320 + add-int/lit8 v0, v0, 0x1
8325 + if-eqz v1, :cond_b
8327 + packed-switch p2, :pswitch_data_b6
8335 + array-length v2, v1
8337 + if-ge v0, v2, :cond_b
8339 + const-string v2, "PM,MediaRecorder"
8341 + new-instance v3, Ljava/lang/StringBuilder;
8343 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8345 + const-string v4, "Blocked Package: -"
8347 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8349 + move-result-object v3
8351 + aget-object v4, v1, v0
8353 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8355 + move-result-object v3
8357 + const-string v4, "- accessing microphone."
8359 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8361 + move-result-object v3
8363 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8365 + move-result-object v3
8367 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8369 + add-int/lit8 v0, v0, 0x1
8377 + array-length v2, v1
8379 + if-ge v0, v2, :cond_b
8381 + const-string v2, "PM,MediaRecorder"
8383 + new-instance v3, Ljava/lang/StringBuilder;
8385 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8387 + const-string v4, "Blocked Package: -"
8389 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8391 + move-result-object v3
8393 + aget-object v4, v1, v0
8395 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8397 + move-result-object v3
8399 + const-string v4, "- accessing microphone and camera."
8401 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8403 + move-result-object v3
8405 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8407 + move-result-object v3
8409 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8411 + add-int/lit8 v0, v0, 0x1
8416 + .packed-switch 0xa
8419 + .end packed-switch
8422 + .packed-switch 0xa
8425 + .end packed-switch
8428 +.method public static final getAudioSourceMax()I
8436 +.method private getPackageName()[Ljava/lang/String;
8440 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
8442 + if-eqz v3, :cond_f
8444 + invoke-static {}, Landroid/os/Process;->myUid()I
8448 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
8450 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
8452 + move-result-object v1
8458 + const-string/jumbo v3, "package"
8460 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
8462 + move-result-object v3
8464 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
8466 + move-result-object v3
8468 + iput-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
8470 + invoke-static {}, Landroid/os/Process;->myUid()I
8474 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
8476 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
8478 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
8480 + move-result-object v1
8487 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
8489 + const-string v3, "PM,MediaRecorder"
8491 + const-string/jumbo v4, "something went wrong with getting package name"
8493 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8500 +.method private getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
8503 + invoke-direct/range {p0 .. p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8505 + move-result-object v12
8507 + new-instance v14, Ljava/util/Random;
8509 + invoke-direct {v14}, Ljava/util/Random;-><init>()V
8513 + new-instance v15, Ljava/lang/StringBuilder;
8515 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8517 + invoke-virtual {v14}, Ljava/util/Random;->nextLong()J
8519 + move-result-wide v16
8521 + invoke-virtual/range {v15 .. v17}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8523 + move-result-object v15
8525 + const-string v16, ".tmp"
8527 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8529 + move-result-object v15
8531 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8533 + move-result-object v2
8542 + array-length v15, v12
8544 + if-ge v11, v15, :cond_247
8547 + new-instance v9, Ljava/io/File;
8549 + new-instance v15, Ljava/lang/StringBuilder;
8551 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8553 + const-string v16, "/data/data/"
8555 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8557 + move-result-object v15
8559 + aget-object v16, v12, v11
8561 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8563 + move-result-object v15
8565 + const-string v16, "/cache/"
8567 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8569 + move-result-object v15
8571 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8573 + move-result-object v15
8575 + invoke-direct {v9, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8577 + invoke-virtual {v9}, Ljava/io/File;->mkdirs()Z
8579 + new-instance v8, Ljava/io/FileWriter;
8581 + new-instance v15, Ljava/lang/StringBuilder;
8583 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8585 + const-string v16, "/data/data/"
8587 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8589 + move-result-object v15
8591 + aget-object v16, v12, v11
8593 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8595 + move-result-object v15
8597 + const-string v16, "/cache/"
8599 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8601 + move-result-object v15
8603 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8605 + move-result-object v15
8607 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8609 + move-result-object v15
8611 + invoke-direct {v8, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8613 + .catchall {:try_start_27 .. :try_end_6e} :catchall_15f
8614 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_155
8617 + const-string/jumbo v15, "test"
8619 + invoke-virtual {v8, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8621 + invoke-virtual {v8}, Ljava/io/FileWriter;->flush()V
8623 + invoke-virtual {v8}, Ljava/io/FileWriter;->close()V
8625 + new-instance v4, Ljava/io/File;
8627 + new-instance v15, Ljava/lang/StringBuilder;
8629 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8631 + const-string v16, "/data/data/"
8633 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8635 + move-result-object v15
8637 + aget-object v16, v12, v11
8639 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8641 + move-result-object v15
8643 + const-string v16, "/cache/"
8645 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8647 + move-result-object v15
8649 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8651 + move-result-object v15
8653 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8655 + move-result-object v15
8657 + invoke-direct {v4, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8659 + .catchall {:try_start_6e .. :try_end_9e} :catchall_235
8660 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_23e
8663 + invoke-virtual {v4}, Ljava/io/File;->delete()Z
8665 + const-string v15, "PM,MediaRecorder"
8667 + new-instance v16, Ljava/lang/StringBuilder;
8669 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8671 + const-string v17, "found our package: "
8673 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8675 + move-result-object v16
8677 + aget-object v17, v12, v11
8679 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8681 + move-result-object v16
8683 + const-string v17, " with internal path. File: "
8685 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8687 + move-result-object v16
8689 + move-object/from16 v0, v16
8691 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8693 + move-result-object v16
8695 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8697 + move-result-object v16
8699 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8701 + aget-object v1, v12, v11
8703 + .catchall {:try_start_9e .. :try_end_c9} :catchall_239
8704 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c9} :catch_242
8710 + invoke-static {}, Ljava/lang/System;->gc()V
8712 + move-object v4, v3
8714 + move-object v8, v7
8717 + if-eqz v1, :cond_172
8720 + new-instance v10, Ljava/io/FileOutputStream;
8722 + new-instance v15, Ljava/lang/StringBuilder;
8724 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8726 + const-string v16, "/data/data/"
8728 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8730 + move-result-object v15
8732 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8734 + move-result-object v15
8736 + const-string v16, "/cache/"
8738 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8740 + move-result-object v15
8742 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8744 + move-result-object v15
8746 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8748 + move-result-object v15
8750 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8752 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8754 + move-result-object v6
8756 + new-instance v15, Ljava/lang/StringBuilder;
8758 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8760 + const-string v16, "/data/data/"
8762 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8764 + move-result-object v15
8766 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8768 + move-result-object v15
8770 + const-string v16, "/cache/"
8772 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8774 + move-result-object v15
8776 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8778 + move-result-object v15
8780 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8782 + move-result-object v15
8784 + move-object/from16 v0, p0
8786 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8788 + const-string v15, "PM,MediaRecorder"
8790 + new-instance v16, Ljava/lang/StringBuilder;
8792 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8794 + const-string/jumbo v17, "returned fileDescriptor for package: "
8796 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8798 + move-result-object v16
8800 + move-object/from16 v0, v16
8802 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8804 + move-result-object v16
8806 + const-string v17, " with internal path. Path: "
8808 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8810 + move-result-object v16
8812 + const-string v17, "/data/data/"
8814 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8816 + move-result-object v16
8818 + move-object/from16 v0, v16
8820 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8822 + move-result-object v16
8824 + const-string v17, "/cache/"
8826 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8828 + move-result-object v16
8830 + move-object/from16 v0, v16
8832 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8834 + move-result-object v16
8836 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8838 + move-result-object v16
8840 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8842 + .catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_152} :catch_166
8844 + move-object v3, v4
8846 + move-object v7, v8
8852 + move-exception v15
8859 + invoke-static {}, Ljava/lang/System;->gc()V
8861 + add-int/lit8 v11, v11, 0x1
8866 + move-exception v15
8873 + invoke-static {}, Ljava/lang/System;->gc()V
8880 + const-string v15, "PM,MediaRecorder"
8882 + const-string v16, "Got exception while creating fileDescriptor -> return null"
8884 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8888 + move-object v3, v4
8890 + move-object v7, v8
8896 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8898 + move-result-object v15
8900 + invoke-virtual {v15}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8902 + move-result-object v13
8904 + new-instance v7, Ljava/io/FileWriter;
8906 + new-instance v15, Ljava/lang/StringBuilder;
8908 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8910 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8912 + move-result-object v15
8914 + const-string v16, "/"
8916 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8918 + move-result-object v15
8920 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8922 + move-result-object v15
8924 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8926 + move-result-object v15
8928 + invoke-direct {v7, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8930 + .catch Ljava/lang/Exception; {:try_start_172 .. :try_end_196} :catch_22e
8933 + const-string/jumbo v15, "test"
8935 + invoke-virtual {v7, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8937 + invoke-virtual {v7}, Ljava/io/FileWriter;->flush()V
8939 + invoke-virtual {v7}, Ljava/io/FileWriter;->close()V
8941 + new-instance v3, Ljava/io/File;
8943 + new-instance v15, Ljava/lang/StringBuilder;
8945 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8947 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8949 + move-result-object v15
8951 + const-string v16, "/"
8953 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8955 + move-result-object v15
8957 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8959 + move-result-object v15
8961 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8963 + move-result-object v15
8965 + invoke-direct {v3, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8967 + .catch Ljava/lang/Exception; {:try_start_196 .. :try_end_1be} :catch_232
8970 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8972 + new-instance v10, Ljava/io/FileOutputStream;
8974 + new-instance v15, Ljava/lang/StringBuilder;
8976 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8978 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8980 + move-result-object v15
8982 + const-string v16, "/"
8984 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8986 + move-result-object v15
8988 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8990 + move-result-object v15
8992 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8994 + move-result-object v15
8996 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8998 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9000 + move-result-object v6
9002 + new-instance v15, Ljava/lang/StringBuilder;
9004 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
9006 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9008 + move-result-object v15
9010 + const-string v16, "/"
9012 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9014 + move-result-object v15
9016 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9018 + move-result-object v15
9020 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9022 + move-result-object v15
9024 + move-object/from16 v0, p0
9026 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9028 + const-string v15, "PM,MediaRecorder"
9030 + new-instance v16, Ljava/lang/StringBuilder;
9032 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
9034 + const-string v17, "Returned FileDescriptor. Path: "
9036 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9038 + move-result-object v16
9040 + move-object/from16 v0, v16
9042 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9044 + move-result-object v16
9046 + const-string v17, "/"
9048 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9050 + move-result-object v16
9052 + move-object/from16 v0, v16
9054 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9056 + move-result-object v16
9058 + const-string v17, " . It is on SDCard!"
9060 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9062 + move-result-object v16
9064 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9066 + move-result-object v16
9068 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
9070 + .catch Ljava/lang/Exception; {:try_start_1be .. :try_end_228} :catch_22a
9085 + move-object v3, v4
9087 + move-object v7, v8
9094 + move-object v3, v4
9099 + move-exception v15
9101 + move-object v7, v8
9106 + move-exception v15
9108 + move-object v3, v4
9110 + move-object v7, v8
9115 + move-exception v15
9117 + move-object v7, v8
9122 + move-exception v15
9124 + move-object v3, v4
9126 + move-object v7, v8
9131 + move-object v4, v3
9133 + move-object v8, v7
9138 +.method private getPrivacyPath()Ljava/lang/String;
9141 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9143 + move-result-object v9
9145 + new-instance v11, Ljava/util/Random;
9147 + invoke-direct {v11}, Ljava/util/Random;-><init>()V
9151 + new-instance v12, Ljava/lang/StringBuilder;
9153 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9155 + invoke-virtual {v11}, Ljava/util/Random;->nextLong()J
9157 + move-result-wide v13
9159 + invoke-virtual {v12, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
9161 + move-result-object v12
9163 + const-string v13, ".tmp"
9165 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9167 + move-result-object v12
9169 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9171 + move-result-object v1
9180 + array-length v12, v9
9182 + if-ge v8, v12, :cond_1eb
9185 + new-instance v7, Ljava/io/File;
9187 + new-instance v12, Ljava/lang/StringBuilder;
9189 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9191 + const-string v13, "/data/data/"
9193 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9195 + move-result-object v12
9197 + aget-object v13, v9, v8
9199 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9201 + move-result-object v12
9203 + const-string v13, "/cache/"
9205 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9207 + move-result-object v12
9209 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9211 + move-result-object v12
9213 + invoke-direct {v7, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9215 + invoke-virtual {v7}, Ljava/io/File;->mkdirs()Z
9217 + new-instance v6, Ljava/io/FileWriter;
9219 + new-instance v12, Ljava/lang/StringBuilder;
9221 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9223 + const-string v13, "/data/data/"
9225 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9227 + move-result-object v12
9229 + aget-object v13, v9, v8
9231 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9233 + move-result-object v12
9235 + const-string v13, "/cache/"
9237 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9239 + move-result-object v12
9241 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9243 + move-result-object v12
9245 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9247 + move-result-object v12
9249 + invoke-direct {v6, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
9251 + .catchall {:try_start_27 .. :try_end_6e} :catchall_137
9252 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_12d
9255 + const-string/jumbo v12, "test"
9257 + invoke-virtual {v6, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
9259 + invoke-virtual {v6}, Ljava/io/FileWriter;->flush()V
9261 + invoke-virtual {v6}, Ljava/io/FileWriter;->close()V
9263 + new-instance v3, Ljava/io/File;
9265 + new-instance v12, Ljava/lang/StringBuilder;
9267 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9269 + const-string v13, "/data/data/"
9271 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9273 + move-result-object v12
9275 + aget-object v13, v9, v8
9277 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9279 + move-result-object v12
9281 + const-string v13, "/cache/"
9283 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9285 + move-result-object v12
9287 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9289 + move-result-object v12
9291 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9293 + move-result-object v12
9295 + invoke-direct {v3, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9297 + .catchall {:try_start_6e .. :try_end_9e} :catchall_1d9
9298 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_1e2
9301 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
9303 + const-string v12, "PM,MediaRecorder"
9305 + new-instance v13, Ljava/lang/StringBuilder;
9307 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
9309 + const-string v14, "found our package: "
9311 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9313 + move-result-object v13
9315 + aget-object v14, v9, v8
9317 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9319 + move-result-object v13
9321 + const-string v14, " with internal path. File: "
9323 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9325 + move-result-object v13
9327 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9329 + move-result-object v13
9331 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9333 + move-result-object v13
9335 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
9337 + aget-object v0, v9, v8
9339 + .catchall {:try_start_9e .. :try_end_c7} :catchall_1dd
9340 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c7} :catch_1e6
9346 + invoke-static {}, Ljava/lang/System;->gc()V
9348 + move-object v3, v2
9350 + move-object v6, v5
9353 + if-eqz v0, :cond_13e
9355 + const-string v12, "PM,MediaRecorder"
9357 + new-instance v13, Ljava/lang/StringBuilder;
9359 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
9361 + const-string/jumbo v14, "returned file: "
9363 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9365 + move-result-object v13
9367 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9369 + move-result-object v13
9371 + const-string v14, " for package: "
9373 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9375 + move-result-object v13
9377 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9379 + move-result-object v13
9381 + const-string v14, " with internal path. Path: "
9383 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9385 + move-result-object v13
9387 + const-string v14, "/data/data/"
9389 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9391 + move-result-object v13
9393 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9395 + move-result-object v13
9397 + const-string v14, "/cache/"
9399 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9401 + move-result-object v13
9403 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9405 + move-result-object v13
9407 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9409 + move-result-object v13
9411 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
9413 + new-instance v12, Ljava/lang/StringBuilder;
9415 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9417 + const-string v13, "/data/data/"
9419 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9421 + move-result-object v12
9423 + invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9425 + move-result-object v12
9427 + const-string v13, "/cache/"
9429 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9431 + move-result-object v12
9433 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9435 + move-result-object v12
9437 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9439 + move-result-object v12
9441 + move-object v2, v3
9443 + move-object v5, v6
9449 + move-exception v12
9456 + invoke-static {}, Ljava/lang/System;->gc()V
9458 + add-int/lit8 v8, v8, 0x1
9463 + move-exception v12
9470 + invoke-static {}, Ljava/lang/System;->gc()V
9476 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
9478 + move-result-object v12
9480 + invoke-virtual {v12}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
9482 + move-result-object v10
9484 + new-instance v5, Ljava/io/FileWriter;
9486 + new-instance v12, Ljava/lang/StringBuilder;
9488 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9490 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9492 + move-result-object v12
9494 + const-string v13, "/"
9496 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9498 + move-result-object v12
9500 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9502 + move-result-object v12
9504 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9506 + move-result-object v12
9508 + invoke-direct {v5, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
9510 + .catch Ljava/lang/Exception; {:try_start_13e .. :try_end_162} :catch_1ce
9513 + const-string/jumbo v12, "test"
9515 + invoke-virtual {v5, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
9517 + invoke-virtual {v5}, Ljava/io/FileWriter;->flush()V
9519 + invoke-virtual {v5}, Ljava/io/FileWriter;->close()V
9521 + new-instance v2, Ljava/io/File;
9523 + new-instance v12, Ljava/lang/StringBuilder;
9525 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9527 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9529 + move-result-object v12
9531 + const-string v13, "/"
9533 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9535 + move-result-object v12
9537 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9539 + move-result-object v12
9541 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9543 + move-result-object v12
9545 + invoke-direct {v2, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9547 + .catch Ljava/lang/Exception; {:try_start_162 .. :try_end_18a} :catch_1d4
9550 + invoke-virtual {v2}, Ljava/io/File;->delete()Z
9552 + const-string v12, "PM,MediaRecorder"
9554 + new-instance v13, Ljava/lang/StringBuilder;
9556 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
9558 + const-string v14, "Return filePath: "
9560 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9562 + move-result-object v13
9564 + invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9566 + move-result-object v13
9568 + const-string v14, "/"
9570 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9572 + move-result-object v13
9574 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9576 + move-result-object v13
9578 + const-string v14, " . It is on SDCard!"
9580 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9582 + move-result-object v13
9584 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9586 + move-result-object v13
9588 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
9590 + new-instance v12, Ljava/lang/StringBuilder;
9592 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9594 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9596 + move-result-object v12
9598 + const-string v13, "/"
9600 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9602 + move-result-object v12
9604 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9606 + move-result-object v12
9608 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9610 + .catch Ljava/lang/Exception; {:try_start_18a .. :try_end_1cb} :catch_1d7
9612 + move-result-object v12
9619 + move-object v2, v3
9621 + move-object v5, v6
9631 + move-object v2, v3
9641 + move-exception v12
9643 + move-object v5, v6
9648 + move-exception v12
9650 + move-object v2, v3
9652 + move-object v5, v6
9657 + move-exception v12
9659 + move-object v5, v6
9664 + move-exception v12
9666 + move-object v2, v3
9668 + move-object v5, v6
9673 + move-object v3, v2
9675 + move-object v6, v5
9680 +.method private initiate()V
9686 + iput-object v1, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9688 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
9690 + iget-object v2, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9692 + const-string/jumbo v3, "privacy"
9694 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9696 + move-result-object v3
9698 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9700 + move-result-object v3
9702 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
9704 + iput-object v1, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9706 + const-string/jumbo v1, "package"
9708 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9710 + move-result-object v1
9712 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
9714 + move-result-object v1
9716 + iput-object v1, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
9720 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9722 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
9730 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
9732 + const-string v1, "PM,MediaRecorder"
9734 + const-string v2, "Something went wrong with initalize variables"
9736 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9741 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9746 .method private final native native_finalize()V
9747 @@ -240,17 +2017,104 @@
9751 +.method private privacyStop()V
9755 + invoke-virtual {p0}, Landroid/media/MediaRecorder;->stop()V
9757 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
9765 + const-string v1, "PM,MediaRecorder"
9767 + const-string v2, "Got exception while trying to call privacyStop()"
9769 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9774 .method private native setParameter(Ljava/lang/String;)V
9779 .method protected finalize()V
9785 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9787 + if-nez v1, :cond_18
9789 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9791 + if-eqz v1, :cond_1c
9793 + new-instance v0, Ljava/io/File;
9795 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9797 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9799 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9803 + if-eqz v1, :cond_18
9805 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9809 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_finalize()V
9814 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9816 + if-eqz v1, :cond_34
9818 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9820 + if-eqz v1, :cond_34
9822 + new-instance v0, Ljava/io/File;
9824 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9826 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9828 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9832 + if-eqz v1, :cond_18
9834 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9839 + const-string v1, "PM,MediaRecorder"
9841 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9843 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9847 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9852 .method public native getMaxAmplitude()I
9853 @@ -262,7 +2126,7 @@
9856 .method public prepare()V
9859 .annotation system Ldalvik/annotation/Throws;
9861 Ljava/lang/IllegalStateException;,
9862 @@ -270,20 +2134,80 @@
9866 - const-wide/16 v2, 0x0
9867 + iget-boolean v0, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9869 + if-nez v0, :cond_7
9871 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
9876 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9880 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9882 + packed-switch v0, :pswitch_data_102
9886 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9888 + move-result-object v8
9890 + if-nez v9, :cond_31
9892 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9896 + if-ne v0, v1, :cond_cf
9898 + if-eqz v8, :cond_cf
9900 + array-length v0, v8
9902 + if-lez v0, :cond_cf
9904 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9908 + aget-object v1, v8, v1
9914 + const-string v4, "camera"
9920 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9926 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9929 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9931 - if-eqz v0, :cond_25
9932 + if-eqz v0, :cond_ea
9934 - new-instance v6, Ljava/io/FileOutputStream;
9935 + new-instance v7, Ljava/io/FileOutputStream;
9937 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9939 - invoke-direct {v6, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9940 + invoke-direct {v7, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9943 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9945 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9947 move-result-object v1
9949 @@ -294,39 +2218,215 @@
9952 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9954 - .catchall {:try_start_d .. :try_end_19} :catchall_20
9956 + .catchall {:try_start_3c .. :try_end_48} :catchall_e5
9958 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9959 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9963 invoke-direct {p0}, Landroid/media/MediaRecorder;->_prepare()V
9971 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9977 + if-ne v0, v1, :cond_10
9979 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9981 + move-result-object v10
9983 + if-eqz v10, :cond_6f
9985 + array-length v0, v10
9987 + if-lez v0, :cond_6f
9989 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9993 + aget-object v1, v10, v1
9999 + const-string/jumbo v4, "recordAudio"
10005 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10008 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
10010 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
10012 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
10014 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
10016 + const-wide/16 v1, 0x32
10018 + invoke-virtual {v0, v1, v2}, Landroid/media/MediaRecorder$PrivacyRunner;->setDelay(J)V
10020 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
10022 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
10031 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
10037 + if-ne v0, v1, :cond_10
10039 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
10041 + move-result-object v10
10043 + if-eqz v10, :cond_a3
10045 + array-length v0, v10
10047 + if-lez v0, :cond_a3
10049 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10053 + aget-object v1, v10, v1
10059 + const-string v4, "camera"
10065 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10068 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
10070 + if-eqz v0, :cond_bc
10072 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyPath()Ljava/lang/String;
10074 + move-result-object v0
10076 + iput-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
10079 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
10081 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
10083 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
10085 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
10087 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
10094 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
10096 + if-eqz v0, :cond_c7
10098 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
10100 + move-result-object v0
10102 + iput-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
10107 + new-instance v0, Ljava/io/IOException;
10109 + const-string v1, "No valid output file"
10111 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
10116 + if-eqz v8, :cond_2e
10118 + array-length v0, v8
10120 + if-lez v0, :cond_2e
10122 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10126 + aget-object v1, v8, v1
10132 + const-string/jumbo v4, "recordAudio"
10138 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
10145 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
10146 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
10152 iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
10154 - if-eqz v0, :cond_31
10155 + if-eqz v0, :cond_fa
10157 iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
10159 - move-object v0, p0
10160 + const-wide/16 v2, 0x0
10163 + const-wide/16 v4, 0x0
10165 + move-object v0, p0
10167 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
10174 new-instance v0, Ljava/io/IOException;
10176 const-string v1, "No valid output file"
10177 @@ -334,23 +2434,97 @@
10178 invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
10182 + :pswitch_data_102
10183 + .packed-switch 0x0
10186 + .end packed-switch
10189 .method public native release()V
10192 .method public reset()V
10200 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_reset()V
10202 - iget-object v0, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
10203 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
10206 + if-nez v1, :cond_1c
10208 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
10210 + if-eqz v1, :cond_27
10212 + new-instance v0, Ljava/io/File;
10214 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
10216 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10218 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
10222 + if-eqz v1, :cond_1c
10224 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
10226 - invoke-virtual {v0, v1}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
10229 + iput-object v3, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
10231 + invoke-static {}, Ljava/lang/System;->gc()V
10233 + iget-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
10235 + invoke-virtual {v1, v3}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
10240 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
10242 + if-eqz v1, :cond_3f
10244 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
10246 + if-eqz v1, :cond_3f
10248 + new-instance v0, Ljava/io/File;
10250 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
10252 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10254 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
10258 + if-eqz v1, :cond_1c
10260 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
10265 + const-string v1, "PM,MediaRecorder"
10267 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
10269 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10273 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
10278 .method public setAudioChannels(I)V
10279 @@ -510,6 +2684,10 @@
10280 .method public setCaptureRate(D)V
10285 + iput v3, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
10287 const-string/jumbo v3, "time-lapse-enable=1"
10289 invoke-direct {p0, v3}, Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V
10290 @@ -804,6 +2982,10 @@
10292 iput-object p1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
10296 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
10301 @@ -821,6 +3003,10 @@
10303 iput-object p1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
10307 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
10312 @@ -833,7 +3019,11 @@
10315 .method public setPreviewDisplay(Landroid/view/Surface;)V
10321 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
10323 iput-object p1, p0, Landroid/media/MediaRecorder;->mSurface:Landroid/view/Surface;
10325 @@ -843,6 +3033,10 @@
10326 .method public setProfile(Landroid/media/CamcorderProfile;)V
10331 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
10333 iget v0, p1, Landroid/media/CamcorderProfile;->fileFormat:I
10335 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
10336 @@ -869,18 +3063,18 @@
10340 - if-lt v0, v1, :cond_28
10341 + if-lt v0, v1, :cond_2b
10343 iget v0, p1, Landroid/media/CamcorderProfile;->quality:I
10347 - if-gt v0, v1, :cond_28
10348 + if-gt v0, v1, :cond_2b
10356 iget v0, p1, Landroid/media/CamcorderProfile;->audioBitRate:I
10358 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V
10359 @@ -897,7 +3091,7 @@
10361 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
10367 .method public native setVideoEncoder(I)V
10368 @@ -911,7 +3105,11 @@
10369 .method public setVideoEncodingBitRate(I)V
10372 - if-gtz p1, :cond_a
10375 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
10377 + if-gtz p1, :cond_d
10379 new-instance v0, Ljava/lang/IllegalArgumentException;
10381 @@ -921,7 +3119,7 @@
10387 new-instance v0, Ljava/lang/StringBuilder;
10389 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
10390 diff -Npruw stock-framework/smali/android/net/NetworkInfo.smali pdroid-framework/smali/android/net/NetworkInfo.smali
10391 --- stock-framework/smali/android/net/NetworkInfo.smali 2013-08-15 23:20:16.644304519 -0500
10392 +++ pdroid-framework/smali/android/net/NetworkInfo.smali 2013-08-15 23:20:07.548304788 -0500
10393 @@ -822,6 +822,14 @@
10397 +.method public setState(Landroid/net/NetworkInfo$State;)V
10400 + iput-object p1, p0, Landroid/net/NetworkInfo;->mState:Landroid/net/NetworkInfo$State;
10405 .method setSubtype(ILjava/lang/String;)V
10408 diff -Npruw stock-framework/smali/android/net/wifi/WifiInfo.smali pdroid-framework/smali/android/net/wifi/WifiInfo.smali
10409 --- stock-framework/smali/android/net/wifi/WifiInfo.smali 2013-08-15 23:20:16.724304517 -0500
10410 +++ pdroid-framework/smali/android/net/wifi/WifiInfo.smali 2013-08-15 23:20:07.624304786 -0500
10411 @@ -265,6 +265,44 @@
10415 +.method public constructor <init>(Z)V
10420 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10422 + const-string v0, ""
10424 + invoke-static {v0}, Landroid/net/wifi/WifiSsid;->createFromAsciiEncoded(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
10426 + move-result-object v0
10428 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mWifiSsid:Landroid/net/wifi/WifiSsid;
10430 + const-string v0, ""
10432 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String;
10434 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mNetworkId:I
10436 + sget-object v0, Landroid/net/wifi/SupplicantState;->UNINITIALIZED:Landroid/net/wifi/SupplicantState;
10438 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mSupplicantState:Landroid/net/wifi/SupplicantState;
10440 + const/16 v0, -0x270f
10442 + iput v0, p0, Landroid/net/wifi/WifiInfo;->mRssi:I
10444 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mLinkSpeed:I
10448 + iput-boolean v0, p0, Landroid/net/wifi/WifiInfo;->mHiddenSSID:Z
10453 .method static synthetic access$002(Landroid/net/wifi/WifiInfo;Landroid/net/wifi/WifiSsid;)Landroid/net/wifi/WifiSsid;
10456 diff -Npruw stock-framework/smali/android/net/wifi/WifiStateMachine.smali pdroid-framework/smali/android/net/wifi/WifiStateMachine.smali
10457 --- stock-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-08-15 23:20:16.760304516 -0500
10458 +++ pdroid-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-08-15 23:20:07.664304785 -0500
10459 @@ -6050,7 +6050,7 @@
10461 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
10463 - const-string v1, "mLinkProperties "
10464 + const-string/jumbo v1, "mLinkProperties "
10466 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10468 diff -Npruw stock-framework/smali/android/net/wifi/WifiWatchdogStateMachine.smali pdroid-framework/smali/android/net/wifi/WifiWatchdogStateMachine.smali
10469 --- stock-framework/smali/android/net/wifi/WifiWatchdogStateMachine.smali 2013-08-15 23:20:16.772304516 -0500
10470 +++ pdroid-framework/smali/android/net/wifi/WifiWatchdogStateMachine.smali 2013-08-15 23:20:07.672304784 -0500
10471 @@ -1684,7 +1684,7 @@
10473 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
10475 - const-string v1, "mLinkProperties: ["
10476 + const-string/jumbo v1, "mLinkProperties: ["
10478 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10480 diff -Npruw stock-framework/smali/android/os/SystemProperties.smali pdroid-framework/smali/android/os/SystemProperties.smali
10481 --- stock-framework/smali/android/os/SystemProperties.smali 2013-08-15 23:20:16.952304510 -0500
10482 +++ pdroid-framework/smali/android/os/SystemProperties.smali 2013-08-15 23:20:07.860304779 -0500
10487 +.field private static final GOT_ERROR:I = -0x3
10489 +.field private static final IS_ALLOWED:I = -0x1
10491 +.field private static final IS_NOT_ALLOWED:I = -0x2
10493 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "SystemProperties"
10495 .field public static final PROP_NAME_MAX:I = 0x1f
10497 .field public static final PROP_VALUE_MAX:I = 0x5b
10499 .field public static final QCOM_HARDWARE:Z
10501 +.field private static context:Landroid/content/Context;
10503 +.field private static mPm:Landroid/content/pm/IPackageManager;
10505 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10507 +.field private static privacyMode:Z
10509 .field private static final sChangeCallbacks:Ljava/util/ArrayList;
10510 .annotation system Ldalvik/annotation/Signature;
10512 @@ -26,10 +42,10 @@
10513 .method static constructor <clinit>()V
10516 - const-string v0, "com.qc.hardware"
10520 + const-string v0, "com.qc.hardware"
10522 invoke-static {v0, v1}, Landroid/os/SystemProperties;->native_get_boolean(Ljava/lang/String;Z)Z
10527 sput-object v0, Landroid/os/SystemProperties;->sChangeCallbacks:Ljava/util/ArrayList;
10529 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10534 @@ -154,6 +172,205 @@
10538 +.method private static checkIfPackagesAllowed()I
10544 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10546 + if-eqz v6, :cond_41
10550 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
10552 + move-result-object v3
10554 + invoke-static {}, Landroid/os/Process;->myUid()I
10558 + if-eqz v3, :cond_2c
10563 + array-length v6, v3
10565 + if-ge v1, v6, :cond_2a
10567 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10569 + aget-object v7, v3, v1
10571 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10573 + move-result-object v2
10575 + if-eqz v2, :cond_26
10577 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
10581 + if-eqz v6, :cond_26
10591 + add-int/lit8 v1, v1, 0x1
10601 + const-string v6, "SystemProperties"
10603 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
10605 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10607 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
10612 + move-exception v0
10614 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10616 + const-string v6, "SystemProperties"
10618 + const-string v7, "Got exception in checkIfPackagesAllowed"
10620 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10626 + const-string v6, "SystemProperties"
10628 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
10630 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10632 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
10637 +.method private static dataAccess(Z)V
10640 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
10642 + move-result-object v1
10644 + if-eqz p0, :cond_2f
10646 + if-eqz v1, :cond_2f
10651 + array-length v2, v1
10653 + if-ge v0, v2, :cond_58
10655 + const-string v2, "SystemProperties"
10657 + new-instance v3, Ljava/lang/StringBuilder;
10659 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10661 + const-string v4, "Allowed Package: -"
10663 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10665 + move-result-object v3
10667 + aget-object v4, v1, v0
10669 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10671 + move-result-object v3
10673 + const-string v4, "- accessing networkinfo."
10675 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10677 + move-result-object v3
10679 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10681 + move-result-object v3
10683 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10685 + add-int/lit8 v0, v0, 0x1
10690 + if-eqz v1, :cond_58
10695 + array-length v2, v1
10697 + if-ge v0, v2, :cond_58
10699 + const-string v2, "SystemProperties"
10701 + new-instance v3, Ljava/lang/StringBuilder;
10703 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10705 + const-string v4, "Blocked Package: -"
10707 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10709 + move-result-object v3
10711 + aget-object v4, v1, v0
10713 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10715 + move-result-object v3
10717 + const-string v4, "- accessing networkinfo."
10719 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10721 + move-result-object v3
10723 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10725 + move-result-object v3
10727 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10729 + add-int/lit8 v0, v0, 0x1
10737 .method public static get(Ljava/lang/String;)Ljava/lang/String;
10740 @@ -174,11 +391,53 @@
10744 + const-string v0, "gsm.operator.alpha"
10746 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10750 + if-nez v0, :cond_20
10752 + const-string v0, "gsm.operator.numeric"
10754 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10758 + if-eqz v0, :cond_35
10761 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10763 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10769 + if-ne v0, v1, :cond_31
10773 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10775 + const-string v0, ""
10783 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10786 invoke-static {p0}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
10788 move-result-object v0
10794 .method public static get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10795 @@ -201,11 +460,53 @@
10799 + const-string v0, "gsm.operator.alpha"
10801 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10805 + if-nez v0, :cond_20
10807 + const-string v0, "gsm.operator.numeric"
10809 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10813 + if-eqz v0, :cond_35
10816 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10818 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10824 + if-ne v0, v1, :cond_31
10828 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10830 + const-string v0, ""
10838 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10841 invoke-static {p0, p1}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10843 move-result-object v0
10849 .method public static getBoolean(Ljava/lang/String;Z)Z
10850 @@ -388,6 +689,135 @@
10854 +.method private static getPackageName()[Ljava/lang/String;
10858 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10860 + if-eqz v3, :cond_f
10862 + invoke-static {}, Landroid/os/Process;->myUid()I
10866 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10868 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10870 + move-result-object v1
10876 + const-string/jumbo v3, "package"
10878 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10880 + move-result-object v3
10882 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10884 + move-result-object v3
10886 + sput-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10888 + invoke-static {}, Landroid/os/Process;->myUid()I
10892 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10894 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10896 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
10898 + move-result-object v1
10903 + move-exception v0
10905 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10907 + const-string v3, "SystemProperties"
10909 + const-string/jumbo v4, "something went wrong with getting package name"
10911 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10918 +.method private static initiate()V
10924 + sput-object v1, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10926 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
10928 + sget-object v2, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10930 + const-string/jumbo v3, "privacy"
10932 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10934 + move-result-object v3
10936 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10938 + move-result-object v3
10940 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10942 + sput-object v1, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10944 + const-string/jumbo v1, "package"
10946 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10948 + move-result-object v1
10950 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10952 + move-result-object v1
10954 + sput-object v1, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10958 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10960 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
10966 + move-exception v0
10968 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10970 + const-string v1, "SystemProperties"
10972 + const-string v2, "Something went wrong with initalize variables"
10974 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10978 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10983 .method private static native native_add_change_callback()V
10986 diff -Npruw stock-framework/smali/android/privacy/IPrivacySettingsManager.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali
10987 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
10988 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager.smali 2013-08-15 23:20:07.944304776 -0500
10990 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
10991 +.super Ljava/lang/Object;
10992 +.source "IPrivacySettingsManager.java"
10995 +.implements Landroid/os/IInterface;
10999 +.annotation system Ldalvik/annotation/MemberClasses;
11001 + Landroid/privacy/IPrivacySettingsManager$Stub;
11007 +.method public abstract addObserver(Ljava/lang/String;)V
11008 + .annotation system Ldalvik/annotation/Throws;
11010 + Landroid/os/RemoteException;
11015 +.method public abstract deleteSettings(Ljava/lang/String;)Z
11016 + .annotation system Ldalvik/annotation/Throws;
11018 + Landroid/os/RemoteException;
11023 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11024 + .annotation system Ldalvik/annotation/Throws;
11026 + Landroid/os/RemoteException;
11031 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11032 + .annotation system Ldalvik/annotation/Throws;
11034 + Landroid/os/RemoteException;
11039 +.method public abstract purgeSettings()Z
11040 + .annotation system Ldalvik/annotation/Throws;
11042 + Landroid/os/RemoteException;
11047 +.method public abstract registerObservers()V
11048 + .annotation system Ldalvik/annotation/Throws;
11050 + Landroid/os/RemoteException;
11055 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
11056 + .annotation system Ldalvik/annotation/Throws;
11058 + Landroid/os/RemoteException;
11063 +.method public abstract setBootCompleted()V
11064 + .annotation system Ldalvik/annotation/Throws;
11066 + Landroid/os/RemoteException;
11071 +.method public abstract setEnabled(Z)Z
11072 + .annotation system Ldalvik/annotation/Throws;
11074 + Landroid/os/RemoteException;
11079 +.method public abstract setNotificationsEnabled(Z)Z
11080 + .annotation system Ldalvik/annotation/Throws;
11082 + Landroid/os/RemoteException;
11086 diff -Npruw stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
11087 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
11088 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2013-08-15 23:20:07.944304776 -0500
11090 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11091 +.super Ljava/lang/Object;
11092 +.source "IPrivacySettingsManager.java"
11095 +.implements Landroid/privacy/IPrivacySettingsManager;
11099 +.annotation system Ldalvik/annotation/EnclosingClass;
11100 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
11103 +.annotation system Ldalvik/annotation/InnerClass;
11104 + accessFlags = 0xa
11110 +.field private mRemote:Landroid/os/IBinder;
11114 +.method constructor <init>(Landroid/os/IBinder;)V
11117 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
11119 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11126 +.method public addObserver(Ljava/lang/String;)V
11128 + .annotation system Ldalvik/annotation/Throws;
11130 + Landroid/os/RemoteException;
11134 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11136 + move-result-object v0
11138 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11140 + move-result-object v1
11143 + const-string v2, "android.privacy.IPrivacySettingsManager"
11145 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11147 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11149 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11155 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11157 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11159 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
11161 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11163 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11168 + move-exception v2
11170 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11172 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11177 +.method public asBinder()Landroid/os/IBinder;
11180 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11185 +.method public deleteSettings(Ljava/lang/String;)Z
11187 + .annotation system Ldalvik/annotation/Throws;
11189 + Landroid/os/RemoteException;
11195 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11197 + move-result-object v0
11199 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11201 + move-result-object v1
11204 + const-string v3, "android.privacy.IPrivacySettingsManager"
11206 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11208 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11210 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11216 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11218 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11220 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11222 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
11226 + if-eqz v3, :cond_22
11231 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11233 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11238 + move-exception v3
11240 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11242 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11247 +.method public getInterfaceDescriptor()Ljava/lang/String;
11250 + const-string v0, "android.privacy.IPrivacySettingsManager"
11255 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11257 + .annotation system Ldalvik/annotation/Throws;
11259 + Landroid/os/RemoteException;
11263 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11265 + move-result-object v0
11267 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11269 + move-result-object v1
11272 + const-string v3, "android.privacy.IPrivacySettingsManager"
11274 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11276 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11278 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11284 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11286 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11288 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11292 + if-eqz v3, :cond_2f
11294 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
11296 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
11298 + move-result-object v2
11300 + check-cast v2, Landroid/privacy/PrivacySettings;
11302 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
11305 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11307 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11317 + move-exception v3
11319 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11321 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11326 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11328 + .annotation system Ldalvik/annotation/Throws;
11330 + Landroid/os/RemoteException;
11334 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11336 + move-result-object v0
11338 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11340 + move-result-object v1
11343 + const-string v2, "android.privacy.IPrivacySettingsManager"
11345 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11347 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11349 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
11351 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11353 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11355 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11361 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11363 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11365 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
11367 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11369 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11374 + move-exception v2
11376 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11378 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11383 +.method public purgeSettings()Z
11385 + .annotation system Ldalvik/annotation/Throws;
11387 + Landroid/os/RemoteException;
11393 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11395 + move-result-object v0
11397 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11399 + move-result-object v1
11402 + const-string v3, "android.privacy.IPrivacySettingsManager"
11404 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11406 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11412 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11414 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11416 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11418 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
11422 + if-eqz v3, :cond_1f
11427 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11429 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11434 + move-exception v3
11436 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11438 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11443 +.method public registerObservers()V
11445 + .annotation system Ldalvik/annotation/Throws;
11447 + Landroid/os/RemoteException;
11451 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11453 + move-result-object v0
11455 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11457 + move-result-object v1
11460 + const-string v2, "android.privacy.IPrivacySettingsManager"
11462 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11464 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11470 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11472 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11474 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
11476 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11478 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11483 + move-exception v2
11485 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11487 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11492 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
11494 + .annotation system Ldalvik/annotation/Throws;
11496 + Landroid/os/RemoteException;
11504 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11506 + move-result-object v0
11508 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11510 + move-result-object v1
11513 + const-string v4, "android.privacy.IPrivacySettingsManager"
11515 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11517 + if-eqz p1, :cond_30
11521 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11525 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11528 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11534 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11536 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11538 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11540 + .catchall {:try_start_a .. :try_end_26} :catchall_35
11544 + if-eqz v4, :cond_3d
11547 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11549 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11557 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11559 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
11564 + move-exception v3
11566 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11568 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11578 +.method public setBootCompleted()V
11580 + .annotation system Ldalvik/annotation/Throws;
11582 + Landroid/os/RemoteException;
11586 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11588 + move-result-object v0
11590 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11592 + move-result-object v1
11595 + const-string v2, "android.privacy.IPrivacySettingsManager"
11597 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11599 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11605 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11607 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11609 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
11611 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11613 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11618 + move-exception v2
11620 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11622 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11627 +.method public setEnabled(Z)Z
11629 + .annotation system Ldalvik/annotation/Throws;
11631 + Landroid/os/RemoteException;
11639 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11641 + move-result-object v0
11643 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11645 + move-result-object v1
11648 + const-string v4, "android.privacy.IPrivacySettingsManager"
11650 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11652 + if-eqz p1, :cond_2d
11657 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11659 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11665 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11667 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11669 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11671 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11675 + if-eqz v4, :cond_2f
11678 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11680 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11695 + move-exception v3
11697 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11699 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11704 +.method public setNotificationsEnabled(Z)Z
11706 + .annotation system Ldalvik/annotation/Throws;
11708 + Landroid/os/RemoteException;
11716 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11718 + move-result-object v0
11720 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11722 + move-result-object v1
11725 + const-string v4, "android.privacy.IPrivacySettingsManager"
11727 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11729 + if-eqz p1, :cond_2d
11734 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11736 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11742 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11744 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11746 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11748 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11752 + if-eqz v4, :cond_2f
11755 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11757 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11772 + move-exception v3
11774 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11776 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11780 diff -Npruw stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
11781 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
11782 +++ pdroid-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2013-08-15 23:20:07.944304776 -0500
11784 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
11785 +.super Landroid/os/Binder;
11786 +.source "IPrivacySettingsManager.java"
11789 +.implements Landroid/privacy/IPrivacySettingsManager;
11793 +.annotation system Ldalvik/annotation/EnclosingClass;
11794 + value = Landroid/privacy/IPrivacySettingsManager;
11797 +.annotation system Ldalvik/annotation/InnerClass;
11798 + accessFlags = 0x409
11802 +.annotation system Ldalvik/annotation/MemberClasses;
11804 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11810 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
11812 +.field static final TRANSACTION_addObserver:I = 0x6
11814 +.field static final TRANSACTION_deleteSettings:I = 0x3
11816 +.field static final TRANSACTION_getSettings:I = 0x1
11818 +.field static final TRANSACTION_notification:I = 0x4
11820 +.field static final TRANSACTION_purgeSettings:I = 0x7
11822 +.field static final TRANSACTION_registerObservers:I = 0x5
11824 +.field static final TRANSACTION_saveSettings:I = 0x2
11826 +.field static final TRANSACTION_setBootCompleted:I = 0xa
11828 +.field static final TRANSACTION_setEnabled:I = 0x8
11830 +.field static final TRANSACTION_setNotificationsEnabled:I = 0x9
11834 +.method public constructor <init>()V
11837 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
11839 + const-string v0, "android.privacy.IPrivacySettingsManager"
11841 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
11846 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
11849 + if-nez p0, :cond_4
11857 + const-string v1, "android.privacy.IPrivacySettingsManager"
11859 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
11861 + move-result-object v0
11863 + if-eqz v0, :cond_13
11865 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
11867 + if-eqz v1, :cond_13
11869 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
11874 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11876 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
11883 +.method public asBinder()Landroid/os/IBinder;
11889 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11891 + .annotation system Ldalvik/annotation/Throws;
11893 + Landroid/os/RemoteException;
11901 + sparse-switch p1, :sswitch_data_fc
11903 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11911 + const-string v5, "android.privacy.IPrivacySettingsManager"
11913 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11918 + const-string v7, "android.privacy.IPrivacySettingsManager"
11920 + invoke-virtual {p2, v7}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11922 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11924 + move-result-object v0
11926 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11928 + move-result-object v4
11930 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11932 + if-eqz v4, :cond_29
11934 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11936 + invoke-virtual {v4, p3, v6}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11941 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeInt(I)V
11946 + const-string v7, "android.privacy.IPrivacySettingsManager"
11948 + invoke-virtual {p2, v7}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11950 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11954 + if-eqz v7, :cond_4e
11956 + sget-object v7, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
11958 + invoke-interface {v7, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
11960 + move-result-object v0
11962 + check-cast v0, Landroid/privacy/PrivacySettings;
11965 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11969 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11971 + if-eqz v4, :cond_4a
11976 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeInt(I)V
11986 + const-string v7, "android.privacy.IPrivacySettingsManager"
11988 + invoke-virtual {p2, v7}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11990 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11992 + move-result-object v0
11994 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
11998 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12000 + if-eqz v4, :cond_63
12005 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeInt(I)V
12010 + const-string v5, "android.privacy.IPrivacySettingsManager"
12012 + invoke-virtual {p2, v5}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12014 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12016 + move-result-object v0
12018 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
12022 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12024 + move-result-object v2
12026 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12028 + move-result-object v3
12030 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
12032 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12037 + const-string v5, "android.privacy.IPrivacySettingsManager"
12039 + invoke-virtual {p2, v5}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12041 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
12043 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12048 + const-string v5, "android.privacy.IPrivacySettingsManager"
12050 + invoke-virtual {p2, v5}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12052 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
12054 + move-result-object v0
12056 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
12058 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12063 + const-string v7, "android.privacy.IPrivacySettingsManager"
12065 + invoke-virtual {p2, v7}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12067 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
12071 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12073 + if-eqz v4, :cond_b0
12078 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeInt(I)V
12083 + const-string v7, "android.privacy.IPrivacySettingsManager"
12085 + invoke-virtual {p2, v7}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12087 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
12091 + if-eqz v7, :cond_d0
12096 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
12100 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12102 + if-eqz v4, :cond_cb
12107 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeInt(I)V
12117 + const-string v7, "android.privacy.IPrivacySettingsManager"
12119 + invoke-virtual {p2, v7}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12121 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
12125 + if-eqz v7, :cond_ed
12130 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
12134 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12136 + if-eqz v4, :cond_e8
12141 + invoke-virtual {p3, v5}, Landroid/os/Parcel;->writeInt(I)V
12151 + const-string v5, "android.privacy.IPrivacySettingsManager"
12153 + invoke-virtual {p2, v5}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
12155 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
12157 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
12163 + 0x1 -> :sswitch_10
12164 + 0x2 -> :sswitch_2d
12165 + 0x3 -> :sswitch_50
12166 + 0x4 -> :sswitch_67
12167 + 0x5 -> :sswitch_83
12168 + 0x6 -> :sswitch_90
12169 + 0x7 -> :sswitch_a1
12170 + 0x8 -> :sswitch_b5
12171 + 0x9 -> :sswitch_d2
12172 + 0xa -> :sswitch_ef
12173 + 0x5f4e5446 -> :sswitch_a
12174 + .end sparse-switch
12176 diff -Npruw stock-framework/smali/android/privacy/PrivacyFileObserver.smali pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali
12177 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
12178 +++ pdroid-framework/smali/android/privacy/PrivacyFileObserver.smali 2013-08-15 23:20:07.944304776 -0500
12180 +.class public final Landroid/privacy/PrivacyFileObserver;
12181 +.super Landroid/os/FileObserver;
12182 +.source "PrivacyFileObserver.java"
12186 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
12188 +.field public static final SETTINGS_TYPE_INDEX:I = 0x4
12190 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
12194 +.field public absolutePath:Ljava/lang/String;
12196 +.field public children:Ljava/util/HashMap;
12197 + .annotation system Ldalvik/annotation/Signature;
12199 + "Ljava/util/HashMap",
12201 + "Ljava/lang/String;",
12202 + "Landroid/privacy/PrivacyFileObserver;",
12208 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12212 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
12215 + const/16 v8, 0xfff
12217 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
12219 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
12221 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12223 + new-instance v8, Ljava/util/HashMap;
12225 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
12227 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
12229 + new-instance v7, Ljava/io/File;
12231 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
12233 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12235 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
12239 + if-eqz v8, :cond_42
12241 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
12243 + move-result-object v6
12245 + move-object v0, v6
12247 + array-length v4, v0
12252 + if-ge v3, v4, :cond_42
12254 + aget-object v2, v0, v3
12256 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
12258 + move-result-object v5
12260 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
12262 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
12264 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
12266 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
12268 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
12272 + if-eqz v8, :cond_3f
12274 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
12277 + add-int/lit8 v3, v3, 0x1
12287 +.method public addObserver(Ljava/lang/String;)V
12290 + new-instance v2, Ljava/lang/StringBuilder;
12292 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
12294 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
12296 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12298 + move-result-object v2
12300 + const-string v3, "/"
12302 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12304 + move-result-object v2
12306 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12308 + move-result-object v2
12310 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12312 + move-result-object v1
12314 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
12316 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
12318 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
12320 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12322 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
12324 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
12326 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
12331 +.method public onEvent(ILjava/lang/String;)V
12334 + and-int/lit8 v5, p1, 0x1
12336 + if-eqz v5, :cond_48
12338 + new-instance v4, Ljava/util/StringTokenizer;
12340 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
12342 + const-string v6, "/"
12344 + invoke-direct {v4, v5, v6}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
12351 + if-ge v0, v5, :cond_1d
12353 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
12357 + if-eqz v5, :cond_1d
12359 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
12361 + add-int/lit8 v0, v0, 0x1
12366 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
12368 + move-result-object v2
12372 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
12376 + if-eqz v5, :cond_2c
12378 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
12380 + move-result-object v3
12383 + if-eqz v3, :cond_49
12386 + const-string v5, "ipTableProtectSetting"
12388 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12392 + if-eqz v5, :cond_49
12394 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12396 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12398 + move-result-object v1
12400 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12402 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
12406 + const-string v7, "iptables"
12410 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
12417 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12419 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12421 + move-result-object v1
12423 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12425 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
12429 + const-string/jumbo v7, "systemLogs"
12433 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
12435 + .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_5c} :catch_5d
12440 + move-exception v5
12445 +.method public startWatching()V
12448 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
12452 diff -Npruw stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
12453 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
12454 +++ pdroid-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2013-08-15 23:20:07.948304776 -0500
12456 +.class public final Landroid/privacy/PrivacyPersistenceAdapter;
12457 +.super Ljava/lang/Object;
12458 +.source "PrivacyPersistenceAdapter.java"
12462 +.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) );"
12464 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
12466 +.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, smsSendSetting INTEGER, phoneCallSetting INTEGER, ipTableProtectSetting INTEGER, iccAccessSetting INTEGER, addOnManagementSetting INTEGER, androidIdSetting INTEGER, androidId TEXT, wifiInfoSetting INTEGER, switchConnectivitySetting INTEGER, sendMmsSetting INTEGER, forceOnlineState INTEGER, switchWifiStateSetting INTEGER);"
12468 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
12470 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
12472 +.field private static final DATABASE_VERSION:I = 0x4
12474 +.field private static final DEFAULT_CACHE_ENTRIES:I = 0x14
12476 +.field public static final DUMMY_UID:I = -0x1
12478 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
12480 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
12482 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
12484 +.field private static final LOG_CACHE:Z = false
12486 +.field private static final LOG_LOCKING:Z = false
12488 +.field private static final LOG_OPEN_AND_CLOSE:Z = false
12490 +.field private static final MINIMUM_CACHE_ENTRIES:I = 0x0
12492 +.field private static final RETRY_QUERY_COUNT:I = 0x5
12494 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
12496 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
12498 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
12500 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
12502 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
12504 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
12506 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
12508 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
12510 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
12512 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
12514 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
12516 +.field private static final autoCloseDb:Z = false
12518 +.field public static volatile sDbAccessThreads:Ljava/lang/Integer; = null
12520 +.field private static sDbLock:Ljava/util/concurrent/locks/ReadWriteLock; = null
12522 +.field public static volatile sDbVersion:I = 0x0
12524 +.field private static settingsCache:Landroid/util/LruCache; = null
12525 + .annotation system Ldalvik/annotation/Signature;
12527 + "Landroid/util/LruCache",
12529 + "Ljava/lang/String;",
12530 + "Landroid/privacy/PrivacySettingsStub;",
12536 +.field private static final useCache:Z = true
12540 +.field private mContext:Landroid/content/Context;
12542 +.field private mDb:Landroid/database/sqlite/SQLiteDatabase;
12546 +.method static constructor <clinit>()V
12549 + const/16 v3, 0x14
12553 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12555 + move-result-object v0
12557 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12559 + new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
12561 + invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
12563 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12565 + new-instance v0, Landroid/util/LruCache;
12567 + invoke-direct {v0, v3}, Landroid/util/LruCache;-><init>(I)V
12569 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->settingsCache:Landroid/util/LruCache;
12571 + const/16 v0, 0x2f
12573 + new-array v0, v0, [Ljava/lang/String;
12575 + const-string v1, "_id"
12577 + aput-object v1, v0, v2
12581 + const-string/jumbo v2, "packageName"
12583 + aput-object v2, v0, v1
12587 + const-string/jumbo v2, "uid"
12589 + aput-object v2, v0, v1
12593 + const-string v2, "deviceIdSetting"
12595 + aput-object v2, v0, v1
12599 + const-string v2, "deviceId"
12601 + aput-object v2, v0, v1
12605 + const-string v2, "line1NumberSetting"
12607 + aput-object v2, v0, v1
12611 + const-string v2, "line1Number"
12613 + aput-object v2, v0, v1
12617 + const-string v2, "locationGpsSetting"
12619 + aput-object v2, v0, v1
12623 + const-string v2, "locationGpsLat"
12625 + aput-object v2, v0, v1
12629 + const-string v2, "locationGpsLon"
12631 + aput-object v2, v0, v1
12635 + const-string v2, "locationNetworkSetting"
12637 + aput-object v2, v0, v1
12641 + const-string v2, "locationNetworkLat"
12643 + aput-object v2, v0, v1
12647 + const-string v2, "locationNetworkLon"
12649 + aput-object v2, v0, v1
12653 + const-string/jumbo v2, "networkInfoSetting"
12655 + aput-object v2, v0, v1
12659 + const-string/jumbo v2, "simInfoSetting"
12661 + aput-object v2, v0, v1
12665 + const-string/jumbo v2, "simSerialNumberSetting"
12667 + aput-object v2, v0, v1
12669 + const/16 v1, 0x10
12671 + const-string/jumbo v2, "simSerialNumber"
12673 + aput-object v2, v0, v1
12675 + const/16 v1, 0x11
12677 + const-string/jumbo v2, "subscriberIdSetting"
12679 + aput-object v2, v0, v1
12681 + const/16 v1, 0x12
12683 + const-string/jumbo v2, "subscriberId"
12685 + aput-object v2, v0, v1
12687 + const/16 v1, 0x13
12689 + const-string v2, "accountsSetting"
12691 + aput-object v2, v0, v1
12693 + const-string v1, "accountsAuthTokensSetting"
12695 + aput-object v1, v0, v3
12697 + const/16 v1, 0x15
12699 + const-string/jumbo v2, "outgoingCallsSetting"
12701 + aput-object v2, v0, v1
12703 + const/16 v1, 0x16
12705 + const-string v2, "incomingCallsSetting"
12707 + aput-object v2, v0, v1
12709 + const/16 v1, 0x17
12711 + const-string v2, "contactsSetting"
12713 + aput-object v2, v0, v1
12715 + const/16 v1, 0x18
12717 + const-string v2, "calendarSetting"
12719 + aput-object v2, v0, v1
12721 + const/16 v1, 0x19
12723 + const-string/jumbo v2, "mmsSetting"
12725 + aput-object v2, v0, v1
12727 + const/16 v1, 0x1a
12729 + const-string/jumbo v2, "smsSetting"
12731 + aput-object v2, v0, v1
12733 + const/16 v1, 0x1b
12735 + const-string v2, "callLogSetting"
12737 + aput-object v2, v0, v1
12739 + const/16 v1, 0x1c
12741 + const-string v2, "bookmarksSetting"
12743 + aput-object v2, v0, v1
12745 + const/16 v1, 0x1d
12747 + const-string/jumbo v2, "systemLogsSetting"
12749 + aput-object v2, v0, v1
12751 + const/16 v1, 0x1e
12753 + const-string v2, "externalStorageSetting"
12755 + aput-object v2, v0, v1
12757 + const/16 v1, 0x1f
12759 + const-string v2, "cameraSetting"
12761 + aput-object v2, v0, v1
12763 + const/16 v1, 0x20
12765 + const-string/jumbo v2, "recordAudioSetting"
12767 + aput-object v2, v0, v1
12769 + const/16 v1, 0x21
12771 + const-string/jumbo v2, "notificationSetting"
12773 + aput-object v2, v0, v1
12775 + const/16 v1, 0x22
12777 + const-string v2, "intentBootCompletedSetting"
12779 + aput-object v2, v0, v1
12781 + const/16 v1, 0x23
12783 + const-string/jumbo v2, "smsSendSetting"
12785 + aput-object v2, v0, v1
12787 + const/16 v1, 0x24
12789 + const-string/jumbo v2, "phoneCallSetting"
12791 + aput-object v2, v0, v1
12793 + const/16 v1, 0x25
12795 + const-string v2, "ipTableProtectSetting"
12797 + aput-object v2, v0, v1
12799 + const/16 v1, 0x26
12801 + const-string v2, "iccAccessSetting"
12803 + aput-object v2, v0, v1
12805 + const/16 v1, 0x27
12807 + const-string v2, "addOnManagementSetting"
12809 + aput-object v2, v0, v1
12811 + const/16 v1, 0x28
12813 + const-string v2, "androidIdSetting"
12815 + aput-object v2, v0, v1
12817 + const/16 v1, 0x29
12819 + const-string v2, "androidId"
12821 + aput-object v2, v0, v1
12823 + const/16 v1, 0x2a
12825 + const-string/jumbo v2, "wifiInfoSetting"
12827 + aput-object v2, v0, v1
12829 + const/16 v1, 0x2b
12831 + const-string/jumbo v2, "switchConnectivitySetting"
12833 + aput-object v2, v0, v1
12835 + const/16 v1, 0x2c
12837 + const-string/jumbo v2, "sendMmsSetting"
12839 + aput-object v2, v0, v1
12841 + const/16 v1, 0x2d
12843 + const-string v2, "forceOnlineState"
12845 + aput-object v2, v0, v1
12847 + const/16 v1, 0x2e
12849 + const-string/jumbo v2, "switchWifiStateSetting"
12851 + aput-object v2, v0, v1
12853 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
12858 +.method public constructor <init>(Landroid/content/Context;)V
12861 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12863 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
12865 + new-instance v0, Ljava/io/File;
12867 + const-string v1, "/data/system/"
12869 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12871 + invoke-virtual {v0}, Ljava/io/File;->canWrite()Z
12875 + if-eqz v0, :cond_6c
12877 + new-instance v0, Ljava/io/File;
12879 + const-string v1, "/data/system/privacy.db"
12881 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12883 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12887 + if-eqz v0, :cond_2c
12889 + new-instance v0, Ljava/io/File;
12891 + const-string v1, "/data/system/privacy"
12893 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12895 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12899 + if-nez v0, :cond_5e
12902 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12904 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12906 + move-result-object v0
12908 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
12911 + new-instance v0, Ljava/io/File;
12913 + const-string v1, "/data/system/privacy.db"
12915 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12917 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12921 + if-nez v0, :cond_45
12923 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
12926 + new-instance v0, Ljava/io/File;
12928 + const-string v1, "/data/system/privacy"
12930 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12932 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12936 + if-nez v0, :cond_55
12938 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
12940 + .catchall {:try_start_35 .. :try_end_55} :catchall_6d
12943 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12945 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12947 + move-result-object v0
12949 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
12952 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
12956 + sput v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12958 + sget v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12962 + if-ge v0, v1, :cond_6c
12964 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase()V
12970 + move-exception v0
12972 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12974 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12976 + move-result-object v1
12978 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
12983 +.method private closeIdleDatabase()V
12986 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12991 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12993 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12995 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12999 + add-int/lit8 v0, v0, -0x1
13001 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13003 + move-result-object v0
13005 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13007 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13009 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
13013 + if-nez v0, :cond_27
13015 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13017 + if-eqz v0, :cond_27
13019 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13021 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13025 + if-eqz v0, :cond_27
13033 + move-exception v0
13037 + .catchall {:try_start_3 .. :try_end_2b} :catchall_29
13042 +.method private createDatabase()V
13045 + const-string v2, "PrivacyPersistenceAdapter"
13047 + const-string v3, "createDatabase - creating privacy database file"
13049 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13052 + const-string v2, "/data/system/privacy.db"
13056 + const/high16 v4, 0x1000
13058 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
13060 + move-result-object v0
13062 + const-string v2, "PrivacyPersistenceAdapter"
13064 + const-string v3, "createDatabase - creating privacy database"
13066 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13068 + 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, smsSendSetting INTEGER, phoneCallSetting INTEGER, ipTableProtectSetting INTEGER, iccAccessSetting INTEGER, addOnManagementSetting INTEGER, androidIdSetting INTEGER, androidId TEXT, wifiInfoSetting INTEGER, switchConnectivitySetting INTEGER, sendMmsSetting INTEGER, forceOnlineState INTEGER, switchWifiStateSetting INTEGER);"
13070 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13072 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
13074 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13076 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
13078 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13080 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
13082 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13084 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
13086 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13088 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
13090 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13092 + if-eqz v0, :cond_40
13094 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13098 + if-eqz v2, :cond_40
13100 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13102 + .catch Landroid/database/SQLException; {:try_start_7 .. :try_end_40} :catch_41
13109 + move-exception v1
13111 + const-string v2, "PrivacyPersistenceAdapter"
13113 + const-string v3, "createDatabase - failed to create privacy database"
13115 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13120 +.method private createSettingsDir()V
13127 + new-instance v0, Ljava/io/File;
13129 + const-string v1, "/data/system/privacy/"
13131 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13133 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
13135 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setReadable(ZZ)Z
13137 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setExecutable(ZZ)Z
13142 +.method private deleteRecursive(Ljava/io/File;)V
13145 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
13149 + if-eqz v4, :cond_16
13151 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
13153 + move-result-object v0
13155 + array-length v3, v0
13160 + if-ge v2, v3, :cond_16
13162 + aget-object v1, v0, v2
13164 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
13166 + add-int/lit8 v2, v2, 0x1
13171 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
13176 +.method private declared-synchronized getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13182 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13184 + if-eqz v0, :cond_15
13186 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13188 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13192 + if-eqz v0, :cond_15
13194 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13196 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
13200 + if-eqz v0, :cond_1f
13203 + const-string v0, "/data/system/privacy.db"
13209 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
13211 + move-result-object v0
13213 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13216 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
13218 + .catchall {:try_start_1 .. :try_end_21} :catchall_23
13225 + move-exception v0
13232 +.method private getDbVersion()I
13237 + const-string v3, "db_version"
13239 + invoke-virtual {p0, v3}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
13241 + move-result-object v1
13243 + if-nez v1, :cond_11
13245 + const-string v3, "PrivacyPersistenceAdapter"
13247 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: getValue returned null; assuming version = 1"
13249 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13256 + invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
13258 + .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_14} :catch_16
13265 + move-exception v0
13267 + const-string v3, "PrivacyPersistenceAdapter"
13269 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: failed to parse database version; returning 1"
13271 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13276 +.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;
13278 + .annotation system Ldalvik/annotation/Throws;
13280 + Ljava/lang/Exception;
13291 + if-nez v3, :cond_27
13295 + if-ge v2, v4, :cond_27
13297 + if-eqz v0, :cond_d
13300 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
13303 + 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;
13305 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
13307 + move-result-object v0
13312 + add-int/lit8 v2, v2, 0x1
13317 + move-exception v1
13321 + if-eqz p1, :cond_22
13323 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13327 + if-eqz v4, :cond_22
13329 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13332 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13334 + move-result-object p1
13339 + if-nez v3, :cond_32
13341 + new-instance v4, Ljava/lang/Exception;
13343 + const-string/jumbo v5, "query - failed to execute query on the DB"
13345 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
13353 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
13355 + .annotation system Ldalvik/annotation/Throws;
13357 + Ljava/lang/Exception;
13368 + if-nez v3, :cond_28
13372 + if-ge v2, v4, :cond_28
13374 + if-eqz v0, :cond_d
13377 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
13382 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
13384 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
13386 + move-result-object v0
13391 + add-int/lit8 v2, v2, 0x1
13396 + move-exception v1
13400 + if-eqz p1, :cond_23
13402 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13406 + if-eqz v4, :cond_23
13408 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13411 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13413 + move-result-object p1
13418 + if-nez v3, :cond_33
13420 + new-instance v4, Ljava/lang/Exception;
13422 + const-string/jumbo v5, "query - failed to execute query on the DB"
13424 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
13432 +.method private upgradeDatabase()V
13435 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13439 + if-ge v14, v15, :cond_31
13441 + const-string v14, "PrivacyPersistenceAdapter"
13443 + new-instance v15, Ljava/lang/StringBuilder;
13445 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
13447 + const-string v16, "PrivacyPersistenceAdapter:upgradeDatabase - upgrading DB from version "
13449 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13451 + move-result-object v15
13453 + sget v16, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13455 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13457 + move-result-object v15
13459 + const-string v16, " to "
13461 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13463 + move-result-object v15
13465 + const/16 v16, 0x4
13467 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13469 + move-result-object v15
13471 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13473 + move-result-object v15
13475 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13479 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13481 + packed-switch v14, :pswitch_data_12c
13489 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13491 + monitor-enter v15
13493 + .catchall {:try_start_32 .. :try_end_35} :catchall_11e
13494 + .catch Landroid/database/SQLException; {:try_start_32 .. :try_end_35} :catch_e6
13497 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13499 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13501 + invoke-virtual {v14}, Ljava/lang/Integer;->intValue()I
13505 + add-int/lit8 v14, v14, 0x1
13507 + invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13509 + move-result-object v14
13511 + sput-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13515 + .catchall {:try_start_35 .. :try_end_46} :catchall_e3
13518 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13520 + move-result-object v3
13522 + if-eqz v3, :cond_109
13524 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13528 + if-eqz v14, :cond_109
13530 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13532 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13534 + move-result-object v14
13536 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->lock()V
13538 + .catchall {:try_start_46 .. :try_end_5b} :catchall_11e
13539 + .catch Landroid/database/SQLException; {:try_start_46 .. :try_end_5b} :catch_e6
13542 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13546 + if-ge v14, v15, :cond_100
13548 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
13550 + .catchall {:try_start_5b .. :try_end_63} :catchall_113
13553 + const-string v14, "DROP TABLE IF EXISTS version;"
13555 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13557 + const-string v14, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
13559 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13561 + const-string v14, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
13563 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13565 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
13567 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13569 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
13571 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13573 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
13575 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13577 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
13579 + new-instance v11, Ljava/io/File;
13581 + const-string v14, "/data/system/privacy"
13583 + invoke-direct {v11, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13585 + invoke-virtual {v11}, Ljava/io/File;->listFiles()[Ljava/io/File;
13587 + move-result-object v1
13589 + array-length v7, v1
13596 + if-ge v6, v7, :cond_f7
13598 + aget-object v10, v1, v6
13600 + invoke-virtual {v10}, Ljava/io/File;->listFiles()[Ljava/io/File;
13602 + move-result-object v2
13604 + array-length v8, v2
13609 + if-ge v5, v8, :cond_f3
13611 + aget-object v13, v2, v5
13613 + invoke-virtual {v13}, Ljava/io/File;->isDirectory()Z
13617 + if-eqz v14, :cond_e0
13619 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
13621 + move-result-object v12
13625 + aget-object v14, v12, v14
13627 + if-eqz v14, :cond_e0
13629 + new-instance v9, Ljava/io/File;
13631 + new-instance v14, Ljava/lang/StringBuilder;
13633 + invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
13635 + invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13637 + move-result-object v14
13639 + const-string v15, "/"
13641 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13643 + move-result-object v14
13647 + aget-object v15, v12, v15
13649 + invoke-virtual {v15}, Ljava/io/File;->getName()Ljava/lang/String;
13651 + move-result-object v15
13653 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13655 + move-result-object v14
13657 + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13659 + move-result-object v14
13661 + invoke-direct {v9, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13663 + invoke-virtual {v9}, Ljava/io/File;->delete()Z
13667 + aget-object v14, v12, v14
13669 + invoke-virtual {v14, v9}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
13671 + move-object/from16 v0, p0
13673 + invoke-direct {v0, v13}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
13675 + .catchall {:try_start_63 .. :try_end_e0} :catchall_10e
13678 + add-int/lit8 v5, v5, 0x1
13683 + move-exception v14
13688 + .catchall {:try_start_e4 .. :try_end_e5} :catchall_e3
13693 + .catchall {:try_start_e5 .. :try_end_e6} :catchall_11e
13694 + .catch Landroid/database/SQLException; {:try_start_e5 .. :try_end_e6} :catch_e6
13697 + move-exception v4
13700 + const-string v14, "PrivacyPersistenceAdapter"
13702 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: SQLException occurred performing database upgrade"
13704 + invoke-static {v14, v15, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13706 + .catchall {:try_start_e7 .. :try_end_ee} :catchall_11e
13708 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13713 + add-int/lit8 v5, v6, 0x1
13721 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13725 + sput v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13727 + .catchall {:try_start_f7 .. :try_end_fd} :catchall_10e
13730 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13732 + .catchall {:try_start_fd .. :try_end_100} :catchall_113
13736 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13738 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13740 + move-result-object v14
13742 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->unlock()V
13744 + .catchall {:try_start_100 .. :try_end_109} :catchall_11e
13745 + .catch Landroid/database/SQLException; {:try_start_100 .. :try_end_109} :catch_e6
13748 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13753 + move-exception v14
13756 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13760 + .catchall {:try_start_10f .. :try_end_113} :catchall_113
13763 + move-exception v14
13766 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13768 + invoke-interface {v15}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13770 + move-result-object v15
13772 + invoke-interface {v15}, Ljava/util/concurrent/locks/Lock;->unlock()V
13776 + .catchall {:try_start_114 .. :try_end_11e} :catchall_11e
13777 + .catch Landroid/database/SQLException; {:try_start_114 .. :try_end_11e} :catch_e6
13780 + move-exception v14
13782 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13787 + const-string v14, "PrivacyPersistenceAdapter"
13789 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: Database is already at the most recent version"
13791 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13795 + :pswitch_data_12c
13796 + .packed-switch 0x1
13801 + .end packed-switch
13804 +.method private writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
13806 + .annotation system Ldalvik/annotation/Throws;
13808 + Ljava/lang/Exception;
13814 + new-instance v2, Ljava/io/File;
13816 + new-instance v5, Ljava/lang/StringBuilder;
13818 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13820 + const-string v6, "/data/system/privacy/"
13822 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13824 + move-result-object v5
13826 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13828 + move-result-object v5
13830 + const-string v6, "/"
13832 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13834 + move-result-object v5
13836 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13838 + move-result-object v5
13840 + invoke-direct {v2, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13842 + new-instance v3, Ljava/io/File;
13844 + new-instance v5, Ljava/lang/StringBuilder;
13846 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13848 + const-string v6, "/data/system/privacy/"
13850 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13852 + move-result-object v5
13854 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13856 + move-result-object v5
13858 + const-string v6, "/"
13860 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13862 + move-result-object v5
13864 + const-string v6, "/"
13866 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13868 + move-result-object v5
13870 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13872 + move-result-object v5
13874 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13876 + move-result-object v5
13878 + invoke-direct {v3, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13882 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13884 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13886 + move-result-object v5
13888 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->lock()V
13891 + invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
13897 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13903 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setExecutable(ZZ)Z
13905 + invoke-virtual {v3}, Ljava/io/File;->createNewFile()Z
13911 + invoke-virtual {v3, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13913 + new-instance v4, Ljava/io/OutputStreamWriter;
13915 + new-instance v5, Ljava/io/FileOutputStream;
13917 + invoke-direct {v5, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
13919 + invoke-direct {v4, v5}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
13921 + const-string/jumbo v5, "systemLogsSetting"
13923 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13927 + if-eqz v5, :cond_a4
13929 + new-instance v5, Ljava/lang/StringBuilder;
13931 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13933 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
13937 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13939 + move-result-object v5
13941 + const-string v6, ""
13943 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13945 + move-result-object v5
13947 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13949 + move-result-object v5
13951 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13955 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->flush()V
13957 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->close()V
13959 + .catchall {:try_start_51 .. :try_end_99} :catchall_d1
13960 + .catch Ljava/io/IOException; {:try_start_51 .. :try_end_99} :catch_c7
13964 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13966 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13968 + move-result-object v5
13970 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
13976 + const-string v5, "ipTableProtectSetting"
13978 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13982 + if-eqz v5, :cond_93
13984 + new-instance v5, Ljava/lang/StringBuilder;
13986 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13988 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
13992 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13994 + move-result-object v5
13996 + const-string v6, ""
13998 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14000 + move-result-object v5
14002 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14004 + move-result-object v5
14006 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
14008 + .catchall {:try_start_a4 .. :try_end_c6} :catchall_d1
14009 + .catch Ljava/io/IOException; {:try_start_a4 .. :try_end_c6} :catch_c7
14014 + move-exception v0
14017 + new-instance v5, Ljava/lang/Exception;
14019 + const-string/jumbo v6, "saveSettings - could not write settings to file"
14021 + invoke-direct {v5, v6, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
14025 + .catchall {:try_start_c8 .. :try_end_d1} :catchall_d1
14028 + move-exception v5
14030 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14032 + invoke-interface {v6}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
14034 + move-result-object v6
14036 + invoke-interface {v6}, Ljava/util/concurrent/locks/Lock;->unlock()V
14043 +.method public deleteSettings(Ljava/lang/String;)Z
14051 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14055 + .catchall {:try_start_2 .. :try_end_5} :catchall_14d
14056 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2 .. :try_end_5} :catch_103
14057 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_140
14060 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14062 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14064 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
14068 + add-int/lit8 v1, v1, 0x1
14070 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14072 + move-result-object v1
14074 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14078 + .catchall {:try_start_5 .. :try_end_16} :catchall_100
14081 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
14083 + move-result-object v0
14085 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14087 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
14089 + move-result-object v1
14091 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
14093 + .catchall {:try_start_16 .. :try_end_23} :catchall_14d
14094 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_16 .. :try_end_23} :catch_103
14095 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_23} :catch_140
14098 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
14100 + .catchall {:try_start_23 .. :try_end_26} :catchall_135
14103 + const-string/jumbo v1, "settings"
14107 + new-array v2, v2, [Ljava/lang/String;
14111 + const-string v4, "_id"
14113 + aput-object v4, v2, v3
14115 + const-string/jumbo v3, "packageName=?"
14119 + new-array v4, v4, [Ljava/lang/String;
14123 + aput-object p1, v4, v5
14131 + 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;
14133 + move-result-object v8
14135 + if-eqz v8, :cond_110
14137 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
14141 + if-lez v1, :cond_110
14143 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
14147 + if-eqz v1, :cond_110
14151 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
14155 + const-string v1, "allowed_contacts"
14157 + const-string/jumbo v2, "settings_id=?"
14161 + new-array v3, v3, [Ljava/lang/String;
14165 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
14167 + move-result-object v5
14169 + aput-object v5, v3, v4
14171 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
14173 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
14176 + const-string/jumbo v1, "settings"
14178 + const-string/jumbo v2, "packageName=?"
14182 + new-array v3, v3, [Ljava/lang/String;
14186 + aput-object p1, v3, v4
14188 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
14192 + if-nez v1, :cond_99
14194 + const-string v1, "PrivacyPersistenceAdapter"
14196 + new-instance v2, Ljava/lang/StringBuilder;
14198 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
14200 + const-string v3, "deleteSettings - database entry for "
14202 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14204 + move-result-object v2
14206 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14208 + move-result-object v2
14210 + const-string v3, " not found"
14212 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14214 + move-result-object v2
14216 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14218 + move-result-object v2
14220 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14223 + new-instance v12, Ljava/io/File;
14225 + new-instance v1, Ljava/lang/StringBuilder;
14227 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
14229 + const-string v2, "/data/system/privacy/"
14231 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14233 + move-result-object v1
14235 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14237 + move-result-object v1
14239 + const-string v2, "/"
14241 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14243 + move-result-object v1
14245 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14247 + move-result-object v1
14249 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
14251 + new-instance v13, Ljava/io/File;
14253 + new-instance v1, Ljava/lang/StringBuilder;
14255 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
14257 + const-string v2, "/data/system/privacy/"
14259 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14261 + move-result-object v1
14263 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14265 + move-result-object v1
14267 + const-string v2, "/systemLogsSetting"
14269 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14271 + move-result-object v1
14273 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14275 + move-result-object v1
14277 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
14279 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
14281 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
14283 + move-result-object v1
14285 + if-eqz v1, :cond_e5
14287 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
14289 + move-result-object v1
14291 + array-length v1, v1
14293 + if-nez v1, :cond_e8
14296 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
14299 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
14301 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->settingsCache:Landroid/util/LruCache;
14303 + invoke-virtual {v1, p1}, Landroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object;
14305 + .catchall {:try_start_26 .. :try_end_f0} :catchall_130
14308 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
14310 + .catchall {:try_start_f0 .. :try_end_f3} :catchall_135
14313 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14315 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
14317 + move-result-object v1
14319 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14321 + .catchall {:try_start_f3 .. :try_end_fc} :catchall_14d
14322 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_f3 .. :try_end_fc} :catch_103
14323 + .catch Ljava/lang/Exception; {:try_start_f3 .. :try_end_fc} :catch_140
14325 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14331 + move-exception v1
14336 + .catchall {:try_start_101 .. :try_end_102} :catchall_100
14341 + .catchall {:try_start_102 .. :try_end_103} :catchall_14d
14342 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_102 .. :try_end_103} :catch_103
14343 + .catch Ljava/lang/Exception; {:try_start_102 .. :try_end_103} :catch_140
14346 + move-exception v9
14351 + const-string v1, "PrivacyPersistenceAdapter"
14353 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings: failed to open the database, or open a transaction"
14355 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14357 + .catchall {:try_start_105 .. :try_end_10c} :catchall_14d
14359 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14365 + const-string v1, "PrivacyPersistenceAdapter"
14367 + new-instance v2, Ljava/lang/StringBuilder;
14369 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
14371 + const-string v3, "deleteSettings - database entry for "
14373 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14375 + move-result-object v2
14377 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14379 + move-result-object v2
14381 + const-string v3, " not found"
14383 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14385 + move-result-object v2
14387 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14389 + move-result-object v2
14391 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14393 + .catchall {:try_start_110 .. :try_end_12e} :catchall_130
14398 + move-exception v1
14401 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
14405 + .catchall {:try_start_131 .. :try_end_135} :catchall_135
14408 + move-exception v1
14411 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14413 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
14415 + move-result-object v2
14417 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
14421 + .catchall {:try_start_136 .. :try_end_140} :catchall_14d
14422 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_136 .. :try_end_140} :catch_103
14423 + .catch Ljava/lang/Exception; {:try_start_136 .. :try_end_140} :catch_140
14426 + move-exception v9
14431 + const-string v1, "PrivacyPersistenceAdapter"
14433 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings - could not delete settings"
14435 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14437 + .catchall {:try_start_142 .. :try_end_149} :catchall_14d
14439 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14444 + move-exception v1
14446 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14451 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
14454 + const/16 v56, 0x0
14456 + if-nez p1, :cond_c
14458 + new-instance v1, Ljava/security/InvalidParameterException;
14460 + const-string v4, "PrivacyPersistenceAdapter:getSettings:insufficient application identifier - package name is required"
14462 + invoke-direct {v1, v4}, Ljava/security/InvalidParameterException;-><init>(Ljava/lang/String;)V
14467 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->settingsCache:Landroid/util/LruCache;
14469 + move-object/from16 v0, p1
14471 + invoke-virtual {v1, v0}, Landroid/util/LruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
14473 + move-result-object v53
14475 + check-cast v53, Landroid/privacy/PrivacySettingsStub;
14477 + if-eqz v53, :cond_28
14479 + move-object/from16 v0, v53
14481 + instance-of v1, v0, Landroid/privacy/PrivacySettings;
14483 + if-eqz v1, :cond_23
14485 + check-cast v53, Landroid/privacy/PrivacySettings;
14487 + move-object/from16 v3, v56
14490 + return-object v53
14493 + const/16 v53, 0x0
14495 + move-object/from16 v3, v56
14501 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14505 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_28 .. :try_end_2b} :catch_a8
14508 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14510 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14512 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
14516 + add-int/lit8 v1, v1, 0x1
14518 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14520 + move-result-object v1
14522 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14526 + .catchall {:try_start_2b .. :try_end_3c} :catchall_a5
14529 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
14531 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_3c .. :try_end_3f} :catch_a8
14533 + move-result-object v2
14535 + const/16 v54, 0x0
14537 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14539 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14541 + move-result-object v1
14543 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
14546 + const-string/jumbo v3, "settings"
14548 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
14550 + const-string/jumbo v5, "packageName=?"
14554 + new-array v6, v1, [Ljava/lang/String;
14558 + aput-object p1, v6, v1
14568 + move-object/from16 v1, p0
14570 + 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;
14572 + move-result-object v54
14574 + if-eqz v54, :cond_367
14576 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->getCount()I
14580 + if-nez v1, :cond_b6
14582 + const-string v1, "PrivacyPersistenceAdapter"
14584 + new-instance v4, Ljava/lang/StringBuilder;
14586 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14588 + const-string v5, "PrivacyPersistenceAdapter:getSettingsfound for package "
14590 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14592 + move-result-object v4
14594 + move-object/from16 v0, p1
14596 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14598 + move-result-object v4
14600 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14602 + move-result-object v4
14604 + invoke-static {v1, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
14606 + .catchall {:try_start_4b .. :try_end_85} :catchall_35f
14607 + .catch Ljava/lang/Exception; {:try_start_4b .. :try_end_85} :catch_363
14609 + move-object/from16 v3, v56
14613 + if-eqz v3, :cond_351
14616 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->settingsCache:Landroid/util/LruCache;
14618 + move-object/from16 v0, p1
14620 + invoke-virtual {v1, v0, v3}, Landroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
14622 + .catchall {:try_start_89 .. :try_end_90} :catchall_33e
14623 + .catch Ljava/lang/Exception; {:try_start_89 .. :try_end_90} :catch_307
14626 + if-eqz v54, :cond_95
14628 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->close()V
14631 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14633 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14635 + move-result-object v1
14637 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14639 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14642 + move-object/from16 v53, v3
14647 + move-exception v1
14652 + .catchall {:try_start_a6 .. :try_end_a7} :catchall_a5
14657 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_a7 .. :try_end_a8} :catch_a8
14660 + move-exception v55
14662 + const-string v1, "PrivacyPersistenceAdapter"
14664 + const-string v4, "getSettings - database could not be opened"
14666 + move-object/from16 v0, v55
14668 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14670 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14676 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->getCount()I
14682 + if-le v1, v4, :cond_d7
14684 + const-string v1, "PrivacyPersistenceAdapter"
14686 + new-instance v4, Ljava/lang/StringBuilder;
14688 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14690 + const-string v5, "Multiple privacy settings found for package "
14692 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14694 + move-result-object v4
14696 + move-object/from16 v0, p1
14698 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14700 + move-result-object v4
14702 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14704 + move-result-object v4
14706 + invoke-static {v1, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
14709 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->moveToFirst()Z
14713 + if-eqz v1, :cond_367
14715 + new-instance v3, Landroid/privacy/PrivacySettings;
14719 + move-object/from16 v0, v54
14721 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14725 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14727 + move-result-object v4
14731 + move-object/from16 v0, v54
14733 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14735 + move-result-object v5
14739 + move-object/from16 v0, v54
14741 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14747 + move-object/from16 v0, v54
14749 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14753 + int-to-byte v7, v1
14757 + move-object/from16 v0, v54
14759 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14761 + move-result-object v8
14765 + move-object/from16 v0, v54
14767 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14771 + int-to-byte v9, v1
14775 + move-object/from16 v0, v54
14777 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14779 + move-result-object v10
14783 + move-object/from16 v0, v54
14785 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14789 + int-to-byte v11, v1
14793 + move-object/from16 v0, v54
14795 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14797 + move-result-object v12
14801 + move-object/from16 v0, v54
14803 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14805 + move-result-object v13
14809 + move-object/from16 v0, v54
14811 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14815 + int-to-byte v14, v1
14819 + move-object/from16 v0, v54
14821 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14823 + move-result-object v15
14827 + move-object/from16 v0, v54
14829 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14831 + move-result-object v16
14835 + move-object/from16 v0, v54
14837 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14841 + int-to-byte v0, v1
14843 + move/from16 v17, v0
14847 + move-object/from16 v0, v54
14849 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14853 + int-to-byte v0, v1
14855 + move/from16 v18, v0
14859 + move-object/from16 v0, v54
14861 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14865 + int-to-byte v0, v1
14867 + move/from16 v19, v0
14869 + const/16 v1, 0x10
14871 + move-object/from16 v0, v54
14873 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14875 + move-result-object v20
14877 + const/16 v1, 0x11
14879 + move-object/from16 v0, v54
14881 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14885 + int-to-byte v0, v1
14887 + move/from16 v21, v0
14889 + const/16 v1, 0x12
14891 + move-object/from16 v0, v54
14893 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14895 + move-result-object v22
14897 + const/16 v1, 0x13
14899 + move-object/from16 v0, v54
14901 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14905 + int-to-byte v0, v1
14907 + move/from16 v23, v0
14909 + const/16 v1, 0x14
14911 + move-object/from16 v0, v54
14913 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14917 + int-to-byte v0, v1
14919 + move/from16 v24, v0
14921 + const/16 v1, 0x15
14923 + move-object/from16 v0, v54
14925 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14929 + int-to-byte v0, v1
14931 + move/from16 v25, v0
14933 + const/16 v1, 0x16
14935 + move-object/from16 v0, v54
14937 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14941 + int-to-byte v0, v1
14943 + move/from16 v26, v0
14945 + const/16 v1, 0x17
14947 + move-object/from16 v0, v54
14949 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14953 + int-to-byte v0, v1
14955 + move/from16 v27, v0
14957 + const/16 v1, 0x18
14959 + move-object/from16 v0, v54
14961 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14965 + int-to-byte v0, v1
14967 + move/from16 v28, v0
14969 + const/16 v1, 0x19
14971 + move-object/from16 v0, v54
14973 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14977 + int-to-byte v0, v1
14979 + move/from16 v29, v0
14981 + const/16 v1, 0x1a
14983 + move-object/from16 v0, v54
14985 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14989 + int-to-byte v0, v1
14991 + move/from16 v30, v0
14993 + const/16 v1, 0x1b
14995 + move-object/from16 v0, v54
14997 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15001 + int-to-byte v0, v1
15003 + move/from16 v31, v0
15005 + const/16 v1, 0x1c
15007 + move-object/from16 v0, v54
15009 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15013 + int-to-byte v0, v1
15015 + move/from16 v32, v0
15017 + const/16 v1, 0x1d
15019 + move-object/from16 v0, v54
15021 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15025 + int-to-byte v0, v1
15027 + move/from16 v33, v0
15029 + const/16 v1, 0x1e
15031 + move-object/from16 v0, v54
15033 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15037 + int-to-byte v0, v1
15039 + move/from16 v34, v0
15041 + const/16 v1, 0x1f
15043 + move-object/from16 v0, v54
15045 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15049 + int-to-byte v0, v1
15051 + move/from16 v35, v0
15053 + const/16 v1, 0x20
15055 + move-object/from16 v0, v54
15057 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15061 + int-to-byte v0, v1
15063 + move/from16 v36, v0
15065 + const/16 v1, 0x21
15067 + move-object/from16 v0, v54
15069 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15073 + int-to-byte v0, v1
15075 + move/from16 v37, v0
15077 + const/16 v1, 0x22
15079 + move-object/from16 v0, v54
15081 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15085 + int-to-byte v0, v1
15087 + move/from16 v38, v0
15089 + const/16 v39, 0x0
15091 + const/16 v1, 0x23
15093 + move-object/from16 v0, v54
15095 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15099 + int-to-byte v0, v1
15101 + move/from16 v40, v0
15103 + const/16 v1, 0x24
15105 + move-object/from16 v0, v54
15107 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15111 + int-to-byte v0, v1
15113 + move/from16 v41, v0
15115 + const/16 v1, 0x25
15117 + move-object/from16 v0, v54
15119 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15123 + int-to-byte v0, v1
15125 + move/from16 v42, v0
15127 + const/16 v1, 0x26
15129 + move-object/from16 v0, v54
15131 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15135 + int-to-byte v0, v1
15137 + move/from16 v43, v0
15139 + const/16 v1, 0x27
15141 + move-object/from16 v0, v54
15143 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15147 + int-to-byte v0, v1
15149 + move/from16 v44, v0
15151 + const/16 v1, 0x28
15153 + move-object/from16 v0, v54
15155 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15159 + int-to-byte v0, v1
15161 + move/from16 v45, v0
15163 + const/16 v1, 0x29
15165 + move-object/from16 v0, v54
15167 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15169 + move-result-object v46
15171 + const/16 v1, 0x2a
15173 + move-object/from16 v0, v54
15175 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15179 + int-to-byte v0, v1
15181 + move/from16 v47, v0
15183 + const/16 v1, 0x2b
15185 + move-object/from16 v0, v54
15187 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15191 + int-to-byte v0, v1
15193 + move/from16 v48, v0
15195 + const/16 v1, 0x2c
15197 + move-object/from16 v0, v54
15199 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15203 + int-to-byte v0, v1
15205 + move/from16 v49, v0
15207 + const/16 v1, 0x2d
15209 + move-object/from16 v0, v54
15211 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15215 + int-to-byte v0, v1
15217 + move/from16 v50, v0
15219 + const/16 v1, 0x2e
15221 + move-object/from16 v0, v54
15223 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
15227 + int-to-byte v0, v1
15229 + move/from16 v51, v0
15231 + invoke-direct/range {v3 .. v51}, 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[IBBBBBBLjava/lang/String;BBBBB)V
15233 + .catchall {:try_start_b6 .. :try_end_2b9} :catchall_35f
15234 + .catch Ljava/lang/Exception; {:try_start_b6 .. :try_end_2b9} :catch_363
15237 + const-string v6, "allowed_contacts"
15241 + new-array v7, v1, [Ljava/lang/String;
15245 + const-string v4, "contact_id"
15247 + aput-object v4, v7, v1
15249 + const-string/jumbo v8, "settings_id=?"
15253 + new-array v9, v1, [Ljava/lang/String;
15257 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
15259 + move-result-object v4
15261 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
15265 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
15267 + move-result-object v4
15269 + aput-object v4, v9, v1
15279 + move-object/from16 v4, p0
15281 + move-object v5, v2
15283 + invoke-direct/range {v4 .. v13}, 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;
15285 + move-result-object v54
15287 + if-eqz v54, :cond_87
15289 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->getCount()I
15293 + if-lez v1, :cond_87
15295 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->getCount()I
15299 + new-array v0, v1, [I
15301 + move-object/from16 v52, v0
15304 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->moveToNext()Z
15308 + if-eqz v1, :cond_337
15310 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->getPosition()I
15316 + move-object/from16 v0, v54
15318 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
15324 + .catchall {:try_start_2b9 .. :try_end_306} :catchall_33e
15325 + .catch Ljava/lang/Exception; {:try_start_2b9 .. :try_end_306} :catch_307
15330 + move-exception v55
15334 + const-string v1, "PrivacyPersistenceAdapter"
15336 + new-instance v4, Ljava/lang/StringBuilder;
15338 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
15340 + const-string v5, "getSettings - failed to get settings for package: "
15342 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15344 + move-result-object v4
15346 + move-object/from16 v0, p1
15348 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15350 + move-result-object v4
15352 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15354 + move-result-object v4
15356 + move-object/from16 v0, v55
15358 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15360 + .catchall {:try_start_308 .. :try_end_324} :catchall_33e
15362 + if-eqz v54, :cond_329
15364 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->close()V
15367 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15369 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15371 + move-result-object v1
15373 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
15375 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15381 + move-object/from16 v0, v52
15383 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
15385 + .catchall {:try_start_337 .. :try_end_33c} :catchall_33e
15386 + .catch Ljava/lang/Exception; {:try_start_337 .. :try_end_33c} :catch_307
15391 + move-exception v1
15394 + if-eqz v54, :cond_344
15396 + invoke-interface/range {v54 .. v54}, Landroid/database/Cursor;->close()V
15399 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15401 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15403 + move-result-object v4
15405 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
15407 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15413 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->settingsCache:Landroid/util/LruCache;
15415 + new-instance v4, Landroid/privacy/PrivacySettingsStub;
15417 + invoke-direct {v4}, Landroid/privacy/PrivacySettingsStub;-><init>()V
15419 + move-object/from16 v0, p1
15421 + invoke-virtual {v1, v0, v4}, Landroid/util/LruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
15423 + .catchall {:try_start_351 .. :try_end_35d} :catchall_33e
15424 + .catch Ljava/lang/Exception; {:try_start_351 .. :try_end_35d} :catch_307
15429 + move-exception v1
15431 + move-object/from16 v3, v56
15436 + move-exception v55
15438 + move-object/from16 v3, v56
15443 + move-object/from16 v3, v56
15448 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
15456 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15460 + .catchall {:try_start_2 .. :try_end_5} :catchall_41
15463 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15465 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15467 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
15471 + add-int/lit8 v3, v3, 0x1
15473 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15475 + move-result-object v3
15477 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15481 + .catchall {:try_start_5 .. :try_end_16} :catchall_3e
15484 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
15486 + move-result-object v1
15488 + if-eqz v1, :cond_22
15490 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
15494 + if-nez v2, :cond_46
15497 + const-string v2, "PrivacyPersistenceAdapter"
15499 + new-instance v3, Ljava/lang/StringBuilder;
15501 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15503 + const-string v4, "PrivacyPersistenceAdapter:getValue: Database not obtained while getting value for name: "
15505 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15507 + move-result-object v3
15509 + invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15511 + move-result-object v3
15513 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15515 + move-result-object v3
15517 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15519 + .catchall {:try_start_16 .. :try_end_3a} :catchall_41
15521 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15527 + move-exception v0
15532 + .catchall {:try_start_3f .. :try_end_40} :catchall_3e
15537 + .catchall {:try_start_40 .. :try_end_41} :catchall_41
15540 + move-exception v0
15542 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15548 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15550 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15552 + move-result-object v0
15554 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
15556 + .catchall {:try_start_46 .. :try_end_4f} :catchall_41
15559 + const-string/jumbo v2, "map"
15563 + new-array v3, v0, [Ljava/lang/String;
15567 + const-string/jumbo v4, "value"
15569 + aput-object v4, v3, v0
15571 + const-string/jumbo v4, "name=?"
15575 + new-array v5, v0, [Ljava/lang/String;
15579 + aput-object p1, v5, v0
15589 + move-object v0, p0
15591 + 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;
15593 + move-result-object v10
15595 + if-eqz v10, :cond_97
15597 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
15601 + if-lez v0, :cond_97
15603 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
15607 + if-eqz v0, :cond_97
15609 + const-string/jumbo v0, "value"
15611 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
15615 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15617 + move-result-object v12
15619 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
15621 + .catchall {:try_start_4f .. :try_end_89} :catchall_d3
15622 + .catch Ljava/lang/Exception; {:try_start_4f .. :try_end_89} :catch_b0
15626 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15628 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15630 + move-result-object v0
15632 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15634 + .catchall {:try_start_89 .. :try_end_92} :catchall_41
15637 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15639 + move-object v0, v12
15645 + const-string v0, "PrivacyPersistenceAdapter"
15647 + new-instance v2, Ljava/lang/StringBuilder;
15649 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15651 + const-string v3, "PrivacyPersistenceAdapter:getValue: Could not get value for name: "
15653 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15655 + move-result-object v2
15657 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15659 + move-result-object v2
15661 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15663 + move-result-object v2
15665 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
15667 + .catchall {:try_start_97 .. :try_end_af} :catchall_d3
15668 + .catch Ljava/lang/Exception; {:try_start_97 .. :try_end_af} :catch_b0
15673 + move-exception v11
15676 + const-string v0, "PrivacyPersistenceAdapter"
15678 + new-instance v2, Ljava/lang/StringBuilder;
15680 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15682 + const-string v3, "PrivacyPersistenceAdapter:getValue: Exception occurred while getting value for name: "
15684 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15686 + move-result-object v2
15688 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15690 + move-result-object v2
15692 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15694 + move-result-object v2
15696 + invoke-static {v0, v2, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15698 + .catchall {:try_start_b1 .. :try_end_c9} :catchall_d3
15701 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15703 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15705 + move-result-object v0
15707 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15712 + move-exception v0
15714 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15716 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15718 + move-result-object v2
15720 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15724 + .catchall {:try_start_c9 .. :try_end_de} :catchall_41
15727 +.method public purgeSettings()Z
15730 + const/16 v23, 0x1
15732 + new-instance v13, Ljava/util/HashSet;
15734 + invoke-direct {v13}, Ljava/util/HashSet;-><init>()V
15736 + move-object/from16 v0, p0
15738 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
15740 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
15742 + move-result-object v20
15746 + move-object/from16 v0, v20
15748 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
15750 + move-result-object v18
15752 + invoke-interface/range {v18 .. v18}, Ljava/util/List;->iterator()Ljava/util/Iterator;
15754 + move-result-object v17
15757 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
15761 + if-eqz v2, :cond_2c
15763 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
15765 + move-result-object v12
15767 + check-cast v12, Landroid/content/pm/ApplicationInfo;
15769 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15771 + invoke-interface {v13, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
15779 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15783 + .catchall {:try_start_2d .. :try_end_30} :catchall_11b
15784 + .catch Ljava/lang/Exception; {:try_start_2d .. :try_end_30} :catch_56
15787 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15789 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15791 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
15795 + add-int/lit8 v2, v2, 0x1
15797 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15799 + move-result-object v2
15801 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15805 + .catchall {:try_start_30 .. :try_end_41} :catchall_53
15808 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
15810 + move-result-object v3
15812 + if-nez v3, :cond_68
15814 + const-string v2, "PrivacyPersistenceAdapter"
15816 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings: db could not be obtained"
15818 + invoke-static {v2, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15820 + .catchall {:try_start_41 .. :try_end_4e} :catchall_11b
15821 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_4e} :catch_56
15825 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15831 + move-exception v2
15836 + .catchall {:try_start_54 .. :try_end_55} :catchall_53
15841 + .catchall {:try_start_55 .. :try_end_56} :catchall_11b
15842 + .catch Ljava/lang/Exception; {:try_start_55 .. :try_end_56} :catch_56
15845 + move-exception v16
15848 + const-string v2, "PrivacyPersistenceAdapter"
15850 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings - purging DB failed"
15852 + move-object/from16 v0, v16
15854 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15856 + .catchall {:try_start_57 .. :try_end_60} :catchall_11b
15858 + const/16 v23, 0x0
15860 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15863 + move/from16 v2, v23
15869 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15871 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15873 + move-result-object v2
15875 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->lock()V
15877 + .catchall {:try_start_68 .. :try_end_71} :catchall_11b
15878 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_71} :catch_56
15883 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
15885 + .catchall {:try_start_72 .. :try_end_75} :catchall_110
15888 + const-string/jumbo v4, "settings"
15892 + new-array v5, v2, [Ljava/lang/String;
15896 + const-string/jumbo v6, "packageName"
15898 + aput-object v6, v5, v2
15912 + move-object/from16 v2, p0
15914 + 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;
15916 + move-result-object v15
15918 + if-eqz v15, :cond_bd
15920 + invoke-interface {v15}, Landroid/database/Cursor;->getCount()I
15924 + if-lez v2, :cond_bd
15926 + invoke-interface {v15}, Landroid/database/Cursor;->moveToFirst()Z
15930 + if-eqz v2, :cond_bd
15935 + invoke-interface {v15, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15937 + move-result-object v22
15939 + move-object/from16 v0, v22
15941 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15945 + if-nez v2, :cond_b7
15947 + const-string/jumbo v2, "settings"
15949 + const-string/jumbo v4, "packageName = ?"
15953 + new-array v5, v5, [Ljava/lang/String;
15957 + aput-object v22, v5, v6
15959 + invoke-virtual {v3, v2, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
15962 + invoke-interface {v15}, Landroid/database/Cursor;->moveToNext()Z
15966 + if-nez v2, :cond_9b
15969 + new-instance v24, Ljava/io/File;
15971 + const-string v2, "/data/system/privacy"
15973 + move-object/from16 v0, v24
15975 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
15977 + invoke-virtual/range {v24 .. v24}, Ljava/io/File;->listFiles()[Ljava/io/File;
15979 + move-result-object v14
15981 + array-length v0, v14
15983 + move/from16 v19, v0
15985 + const/16 v17, 0x0
15988 + move/from16 v0, v17
15990 + move/from16 v1, v19
15992 + if-ge v0, v1, :cond_ed
15994 + aget-object v21, v14, v17
15996 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->getName()Ljava/lang/String;
15998 + move-result-object v22
16000 + move-object/from16 v0, v22
16002 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
16006 + if-nez v2, :cond_ea
16008 + move-object/from16 v0, p0
16010 + move-object/from16 v1, v21
16012 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
16015 + add-int/lit8 v17, v17, 0x1
16020 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
16022 + .catchall {:try_start_75 .. :try_end_f0} :catchall_106
16024 + if-eqz v15, :cond_f5
16027 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
16030 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16032 + .catchall {:try_start_f2 .. :try_end_f8} :catchall_110
16035 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16037 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16039 + move-result-object v2
16041 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
16043 + .catchall {:try_start_f8 .. :try_end_101} :catchall_11b
16044 + .catch Ljava/lang/Exception; {:try_start_f8 .. :try_end_101} :catch_56
16046 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16051 + move-exception v2
16053 + if-eqz v15, :cond_10c
16056 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
16059 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16063 + .catchall {:try_start_109 .. :try_end_110} :catchall_110
16066 + move-exception v2
16069 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16071 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16073 + move-result-object v4
16075 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
16079 + .catchall {:try_start_111 .. :try_end_11b} :catchall_11b
16080 + .catch Ljava/lang/Exception; {:try_start_111 .. :try_end_11b} :catch_56
16083 + move-exception v2
16085 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16090 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
16093 + const/16 v19, 0x0
16095 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16097 + move-result-object v18
16099 + if-eqz v18, :cond_e
16101 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->isEmpty()Z
16105 + if-eqz v4, :cond_18
16108 + const-string v4, "PrivacyPersistenceAdapter"
16110 + const-string/jumbo v5, "saveSettings - either package name is missing"
16112 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16120 + new-instance v22, Landroid/content/ContentValues;
16122 + invoke-direct/range {v22 .. v22}, Landroid/content/ContentValues;-><init>()V
16124 + const-string/jumbo v4, "packageName"
16126 + move-object/from16 v0, v22
16128 + move-object/from16 v1, v18
16130 + invoke-virtual {v0, v4, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16132 + const-string/jumbo v4, "uid"
16136 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16138 + move-result-object v5
16140 + move-object/from16 v0, v22
16142 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16144 + const-string v4, "deviceIdSetting"
16146 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
16150 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16152 + move-result-object v5
16154 + move-object/from16 v0, v22
16156 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16158 + const-string v4, "deviceId"
16160 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
16162 + move-result-object v5
16164 + move-object/from16 v0, v22
16166 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16168 + const-string v4, "line1NumberSetting"
16170 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
16174 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16176 + move-result-object v5
16178 + move-object/from16 v0, v22
16180 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16182 + const-string v4, "line1Number"
16184 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
16186 + move-result-object v5
16188 + move-object/from16 v0, v22
16190 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16192 + const-string v4, "locationGpsSetting"
16194 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
16198 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16200 + move-result-object v5
16202 + move-object/from16 v0, v22
16204 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16206 + const-string v4, "locationGpsLat"
16208 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
16210 + move-result-object v5
16212 + move-object/from16 v0, v22
16214 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16216 + const-string v4, "locationGpsLon"
16218 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
16220 + move-result-object v5
16222 + move-object/from16 v0, v22
16224 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16226 + const-string v4, "locationNetworkSetting"
16228 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
16232 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16234 + move-result-object v5
16236 + move-object/from16 v0, v22
16238 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16240 + const-string v4, "locationNetworkLat"
16242 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
16244 + move-result-object v5
16246 + move-object/from16 v0, v22
16248 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16250 + const-string v4, "locationNetworkLon"
16252 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
16254 + move-result-object v5
16256 + move-object/from16 v0, v22
16258 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16260 + const-string/jumbo v4, "networkInfoSetting"
16262 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
16266 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16268 + move-result-object v5
16270 + move-object/from16 v0, v22
16272 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16274 + const-string/jumbo v4, "simInfoSetting"
16276 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
16280 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16282 + move-result-object v5
16284 + move-object/from16 v0, v22
16286 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16288 + const-string/jumbo v4, "simSerialNumberSetting"
16290 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
16294 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16296 + move-result-object v5
16298 + move-object/from16 v0, v22
16300 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16302 + const-string/jumbo v4, "simSerialNumber"
16304 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
16306 + move-result-object v5
16308 + move-object/from16 v0, v22
16310 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16312 + const-string/jumbo v4, "subscriberIdSetting"
16314 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
16318 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16320 + move-result-object v5
16322 + move-object/from16 v0, v22
16324 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16326 + const-string/jumbo v4, "subscriberId"
16328 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
16330 + move-result-object v5
16332 + move-object/from16 v0, v22
16334 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16336 + const-string v4, "accountsSetting"
16338 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
16342 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16344 + move-result-object v5
16346 + move-object/from16 v0, v22
16348 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16350 + const-string v4, "accountsAuthTokensSetting"
16352 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
16356 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16358 + move-result-object v5
16360 + move-object/from16 v0, v22
16362 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16364 + const-string/jumbo v4, "outgoingCallsSetting"
16366 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
16370 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16372 + move-result-object v5
16374 + move-object/from16 v0, v22
16376 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16378 + const-string v4, "incomingCallsSetting"
16380 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
16384 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16386 + move-result-object v5
16388 + move-object/from16 v0, v22
16390 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16392 + const-string v4, "contactsSetting"
16394 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
16398 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16400 + move-result-object v5
16402 + move-object/from16 v0, v22
16404 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16406 + const-string v4, "calendarSetting"
16408 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
16412 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16414 + move-result-object v5
16416 + move-object/from16 v0, v22
16418 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16420 + const-string/jumbo v4, "mmsSetting"
16422 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
16426 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16428 + move-result-object v5
16430 + move-object/from16 v0, v22
16432 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16434 + const-string/jumbo v4, "smsSetting"
16436 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
16440 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16442 + move-result-object v5
16444 + move-object/from16 v0, v22
16446 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16448 + const-string v4, "callLogSetting"
16450 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
16454 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16456 + move-result-object v5
16458 + move-object/from16 v0, v22
16460 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16462 + const-string v4, "bookmarksSetting"
16464 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
16468 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16470 + move-result-object v5
16472 + move-object/from16 v0, v22
16474 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16476 + const-string/jumbo v4, "systemLogsSetting"
16478 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
16482 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16484 + move-result-object v5
16486 + move-object/from16 v0, v22
16488 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16490 + const-string/jumbo v4, "notificationSetting"
16492 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
16496 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16498 + move-result-object v5
16500 + move-object/from16 v0, v22
16502 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16504 + const-string v4, "intentBootCompletedSetting"
16506 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
16510 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16512 + move-result-object v5
16514 + move-object/from16 v0, v22
16516 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16518 + const-string v4, "cameraSetting"
16520 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
16524 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16526 + move-result-object v5
16528 + move-object/from16 v0, v22
16530 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16532 + const-string/jumbo v4, "recordAudioSetting"
16534 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
16538 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16540 + move-result-object v5
16542 + move-object/from16 v0, v22
16544 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16546 + const-string/jumbo v4, "smsSendSetting"
16548 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
16552 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16554 + move-result-object v5
16556 + move-object/from16 v0, v22
16558 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16560 + const-string/jumbo v4, "phoneCallSetting"
16562 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
16566 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16568 + move-result-object v5
16570 + move-object/from16 v0, v22
16572 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16574 + const-string v4, "ipTableProtectSetting"
16576 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
16580 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16582 + move-result-object v5
16584 + move-object/from16 v0, v22
16586 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16588 + const-string v4, "iccAccessSetting"
16590 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
16594 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16596 + move-result-object v5
16598 + move-object/from16 v0, v22
16600 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16602 + const-string v4, "addOnManagementSetting"
16604 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAddOnManagementSetting()B
16608 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16610 + move-result-object v5
16612 + move-object/from16 v0, v22
16614 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16616 + const-string v4, "androidIdSetting"
16618 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
16622 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16624 + move-result-object v5
16626 + move-object/from16 v0, v22
16628 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16630 + const-string v4, "androidId"
16632 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
16634 + move-result-object v5
16636 + move-object/from16 v0, v22
16638 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16640 + const-string/jumbo v4, "wifiInfoSetting"
16642 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
16646 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16648 + move-result-object v5
16650 + move-object/from16 v0, v22
16652 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16654 + const-string/jumbo v4, "switchConnectivitySetting"
16656 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
16660 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16662 + move-result-object v5
16664 + move-object/from16 v0, v22
16666 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16668 + const-string/jumbo v4, "sendMmsSetting"
16670 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSendMmsSetting()B
16674 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16676 + move-result-object v5
16678 + move-object/from16 v0, v22
16680 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16682 + const-string v4, "forceOnlineState"
16684 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
16688 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16690 + move-result-object v5
16692 + move-object/from16 v0, v22
16694 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16696 + const-string/jumbo v4, "switchWifiStateSetting"
16698 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
16702 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16704 + move-result-object v5
16706 + move-object/from16 v0, v22
16708 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16715 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16719 + .catchall {:try_start_2a9 .. :try_end_2ac} :catchall_33c
16720 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2ac} :catch_311
16723 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16725 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16727 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
16731 + add-int/lit8 v4, v4, 0x1
16733 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16735 + move-result-object v4
16737 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16741 + .catchall {:try_start_2ac .. :try_end_2bd} :catchall_339
16744 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16746 + move-result-object v3
16748 + if-eqz v3, :cond_4f9
16750 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16754 + if-eqz v4, :cond_4f9
16756 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16758 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16760 + move-result-object v4
16762 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
16764 + .catchall {:try_start_2bd .. :try_end_2d2} :catchall_33c
16765 + .catch Ljava/lang/Exception; {:try_start_2bd .. :try_end_2d2} :catch_311
16768 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
16770 + .catchall {:try_start_2d2 .. :try_end_2d5} :catchall_306
16773 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
16775 + move-result-object v16
16777 + if-eqz v16, :cond_38d
16779 + const-string/jumbo v4, "settings"
16781 + const-string v5, "_id=?"
16785 + new-array v6, v6, [Ljava/lang/String;
16789 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16791 + move-result-object v8
16793 + aput-object v8, v6, v7
16795 + move-object/from16 v0, v22
16797 + invoke-virtual {v3, v4, v0, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
16803 + if-ge v4, v5, :cond_341
16805 + new-instance v4, Ljava/lang/Exception;
16807 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16809 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16813 + .catchall {:try_start_2d5 .. :try_end_2fc} :catchall_2fc
16816 + move-exception v4
16819 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16821 + if-eqz v13, :cond_305
16823 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16828 + .catchall {:try_start_2fd .. :try_end_306} :catchall_306
16831 + move-exception v4
16834 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16836 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16838 + move-result-object v5
16840 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
16844 + .catchall {:try_start_307 .. :try_end_311} :catchall_33c
16845 + .catch Ljava/lang/Exception; {:try_start_307 .. :try_end_311} :catch_311
16848 + move-exception v14
16851 + const-string v4, "PrivacyPersistenceAdapter"
16853 + new-instance v5, Ljava/lang/StringBuilder;
16855 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16857 + const-string v6, "PrivacyPersistenceAdapter:saveSettings: saving for "
16859 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16861 + move-result-object v5
16863 + move-object/from16 v0, v18
16865 + invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16867 + move-result-object v5
16869 + const-string v6, " failed"
16871 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16873 + move-result-object v5
16875 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16877 + move-result-object v5
16879 + invoke-static {v4, v5, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16881 + .catchall {:try_start_312 .. :try_end_332} :catchall_33c
16883 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16886 + move/from16 v4, v19
16891 + move-exception v4
16896 + .catchall {:try_start_33a .. :try_end_33b} :catchall_339
16901 + .catchall {:try_start_33b .. :try_end_33c} :catchall_33c
16902 + .catch Ljava/lang/Exception; {:try_start_33b .. :try_end_33c} :catch_311
16905 + move-exception v4
16907 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16913 + const-string v4, "allowed_contacts"
16915 + const-string/jumbo v5, "settings_id=?"
16919 + new-array v6, v6, [Ljava/lang/String;
16923 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16925 + move-result-object v8
16927 + aput-object v8, v6, v7
16929 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16931 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16933 + move-result-object v11
16935 + if-eqz v11, :cond_4af
16937 + new-instance v12, Landroid/content/ContentValues;
16939 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16944 + array-length v4, v11
16946 + if-ge v15, v4, :cond_4af
16948 + const-string/jumbo v4, "settings_id"
16950 + move-object/from16 v0, v16
16952 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16954 + const-string v4, "contact_id"
16956 + aget v5, v11, v15
16958 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16960 + move-result-object v5
16962 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16964 + const-string v4, "allowed_contacts"
16968 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16970 + move-result-wide v4
16972 + const-wide/16 v6, -0x1
16974 + cmp-long v4, v4, v6
16976 + if-nez v4, :cond_38a
16978 + new-instance v4, Ljava/lang/Exception;
16980 + const-string v5, "PrivacyPersistenceAdapter:saveSettings: failed to update database entry (contacts)"
16982 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16987 + add-int/lit8 v15, v15, 0x1
16992 + const-string/jumbo v4, "settings"
16996 + new-array v5, v5, [Ljava/lang/String;
17000 + const-string v7, "_id"
17002 + aput-object v7, v5, v6
17004 + const-string/jumbo v6, "packageName=?"
17008 + new-array v7, v7, [Ljava/lang/String;
17012 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
17014 + move-result-object v9
17016 + aput-object v9, v7, v8
17024 + invoke-virtual/range {v3 .. v10}, 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;
17026 + move-result-object v13
17028 + if-eqz v13, :cond_4a7
17030 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
17036 + if-ne v4, v5, :cond_433
17038 + const-string/jumbo v4, "settings"
17040 + const-string/jumbo v5, "packageName=?"
17044 + new-array v6, v6, [Ljava/lang/String;
17048 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
17050 + move-result-object v8
17052 + aput-object v8, v6, v7
17054 + move-object/from16 v0, v22
17056 + invoke-virtual {v3, v4, v0, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
17062 + if-ge v4, v5, :cond_3d7
17064 + new-instance v4, Ljava/lang/Exception;
17066 + const-string/jumbo v5, "saveSettings - failed to update database entry"
17068 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17073 + invoke-interface {v13}, Landroid/database/Cursor;->moveToFirst()Z
17077 + if-eqz v4, :cond_4af
17081 + invoke-interface {v13, v4}, Landroid/database/Cursor;->getInt(I)I
17085 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17087 + move-result-object v17
17089 + const-string v4, "allowed_contacts"
17091 + const-string/jumbo v5, "settings_id=?"
17095 + new-array v6, v6, [Ljava/lang/String;
17099 + invoke-virtual/range {v17 .. v17}, Ljava/lang/Integer;->toString()Ljava/lang/String;
17101 + move-result-object v8
17103 + aput-object v8, v6, v7
17105 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
17107 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
17109 + move-result-object v11
17111 + if-eqz v11, :cond_4af
17113 + new-instance v12, Landroid/content/ContentValues;
17115 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
17120 + array-length v4, v11
17122 + if-ge v15, v4, :cond_4af
17124 + const-string/jumbo v4, "settings_id"
17126 + move-object/from16 v0, v17
17128 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
17130 + const-string v4, "contact_id"
17132 + aget v5, v11, v15
17134 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17136 + move-result-object v5
17138 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
17140 + const-string v4, "allowed_contacts"
17144 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
17146 + move-result-wide v4
17148 + const-wide/16 v6, -0x1
17150 + cmp-long v4, v4, v6
17152 + if-nez v4, :cond_430
17154 + new-instance v4, Ljava/lang/Exception;
17156 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
17158 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17163 + add-int/lit8 v15, v15, 0x1
17168 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
17172 + if-nez v4, :cond_49f
17174 + const-string/jumbo v4, "settings"
17178 + move-object/from16 v0, v22
17180 + invoke-virtual {v3, v4, v5, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
17182 + move-result-wide v20
17184 + const-wide/16 v4, -0x1
17186 + cmp-long v4, v20, v4
17188 + if-nez v4, :cond_451
17190 + new-instance v4, Ljava/lang/Exception;
17192 + const-string v5, "PrivacyPersistenceAdapter:saveSettings - failed to insert new record into DB"
17194 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17199 + const-string v4, "allowed_contacts"
17201 + const-string/jumbo v5, "settings_id=?"
17205 + new-array v6, v6, [Ljava/lang/String;
17209 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
17211 + move-result-object v8
17213 + aput-object v8, v6, v7
17215 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
17217 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
17219 + move-result-object v11
17221 + if-eqz v11, :cond_4af
17223 + new-instance v12, Landroid/content/ContentValues;
17225 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
17230 + array-length v4, v11
17232 + if-ge v15, v4, :cond_4af
17234 + const-string/jumbo v4, "settings_id"
17236 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
17238 + move-result-object v5
17240 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
17242 + const-string v4, "contact_id"
17244 + aget v5, v11, v15
17246 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17248 + move-result-object v5
17250 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
17252 + const-string v4, "allowed_contacts"
17256 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
17258 + move-result-wide v4
17260 + const-wide/16 v6, -0x1
17262 + cmp-long v4, v4, v6
17264 + if-nez v4, :cond_49c
17266 + new-instance v4, Ljava/lang/Exception;
17268 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to update database entry (contacts)"
17270 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17275 + add-int/lit8 v15, v15, 0x1
17280 + new-instance v4, Ljava/lang/Exception;
17282 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:duplicate entries in the privacy.db"
17284 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17289 + new-instance v4, Ljava/lang/Exception;
17291 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:cursor is null, database access failed"
17293 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17298 + const-string/jumbo v4, "systemLogsSetting"
17300 + move-object/from16 v0, p0
17302 + move-object/from16 v1, v18
17304 + move-object/from16 v2, p1
17306 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
17310 + if-nez v4, :cond_4c6
17312 + new-instance v4, Ljava/lang/Exception;
17314 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write systemLogsSettings file"
17316 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17321 + const-string v4, "ipTableProtectSetting"
17323 + move-object/from16 v0, p0
17325 + move-object/from16 v1, v18
17327 + move-object/from16 v2, p1
17329 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
17333 + if-nez v4, :cond_4dc
17335 + new-instance v4, Ljava/lang/Exception;
17337 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write ipTableProtectSetting file"
17339 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
17344 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
17346 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->settingsCache:Landroid/util/LruCache;
17348 + move-object/from16 v0, v18
17350 + invoke-virtual {v4, v0}, Landroid/util/LruCache;->remove(Ljava/lang/Object;)Ljava/lang/Object;
17352 + .catchall {:try_start_341 .. :try_end_4e6} :catchall_2fc
17355 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
17357 + if-eqz v13, :cond_4ee
17359 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
17361 + .catchall {:try_start_4e6 .. :try_end_4ee} :catchall_306
17365 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17367 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17369 + move-result-object v4
17371 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
17373 + .catchall {:try_start_4ee .. :try_end_4f7} :catchall_33c
17374 + .catch Ljava/lang/Exception; {:try_start_4ee .. :try_end_4f7} :catch_311
17376 + const/16 v19, 0x1
17379 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17381 + goto/16 :goto_335
17384 +.method public setValue(Ljava/lang/String;Ljava/lang/String;)Z
17389 + const-string v4, "PrivacyPersistenceAdapter"
17391 + new-instance v5, Ljava/lang/StringBuilder;
17393 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
17395 + const-string/jumbo v6, "setValue - name "
17397 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17399 + move-result-object v5
17401 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17403 + move-result-object v5
17405 + const-string v6, " value "
17407 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17409 + move-result-object v5
17411 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17413 + move-result-object v5
17415 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17417 + move-result-object v5
17419 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17421 + new-instance v2, Landroid/content/ContentValues;
17423 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
17425 + const-string/jumbo v4, "name"
17427 + invoke-virtual {v2, v4, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
17429 + const-string/jumbo v4, "value"
17431 + invoke-virtual {v2, v4, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
17436 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
17440 + .catchall {:try_start_36 .. :try_end_39} :catchall_75
17443 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
17445 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
17447 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
17451 + add-int/lit8 v5, v5, 0x1
17453 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
17455 + move-result-object v5
17457 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
17461 + .catchall {:try_start_39 .. :try_end_4a} :catchall_72
17464 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
17466 + move-result-object v0
17468 + if-eqz v0, :cond_56
17470 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
17474 + if-nez v4, :cond_7a
17477 + const-string v4, "PrivacyPersistenceAdapter"
17479 + new-instance v5, Ljava/lang/StringBuilder;
17481 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
17483 + const-string v6, "PrivacyPersistenceAdapter:setValue: Database not obtained while setting value for name: "
17485 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17487 + move-result-object v5
17489 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17491 + move-result-object v5
17493 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17495 + move-result-object v5
17497 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17499 + .catchall {:try_start_4a .. :try_end_6e} :catchall_75
17501 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17507 + move-exception v3
17512 + .catchall {:try_start_73 .. :try_end_74} :catchall_72
17517 + .catchall {:try_start_74 .. :try_end_75} :catchall_75
17520 + move-exception v3
17522 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17528 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17530 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17532 + move-result-object v4
17534 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
17536 + .catchall {:try_start_7a .. :try_end_83} :catchall_75
17539 + const-string/jumbo v4, "map"
17543 + invoke-virtual {v0, v4, v5, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
17545 + .catchall {:try_start_83 .. :try_end_8a} :catchall_a2
17547 + move-result-wide v4
17549 + const-wide/16 v6, -0x1
17551 + cmp-long v4, v4, v6
17553 + if-eqz v4, :cond_a0
17559 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17561 + invoke-interface {v3}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17563 + move-result-object v3
17565 + invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
17567 + .catchall {:try_start_92 .. :try_end_9b} :catchall_75
17569 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17581 + move-exception v3
17584 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17586 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17588 + move-result-object v4
17590 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
17594 + .catchall {:try_start_a3 .. :try_end_ad} :catchall_75
17596 diff -Npruw stock-framework/smali/android/privacy/PrivacySettings$1.smali pdroid-framework/smali/android/privacy/PrivacySettings$1.smali
17597 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
17598 +++ pdroid-framework/smali/android/privacy/PrivacySettings$1.smali 2013-08-15 23:20:07.948304776 -0500
17600 +.class final Landroid/privacy/PrivacySettings$1;
17601 +.super Ljava/lang/Object;
17602 +.source "PrivacySettings.java"
17605 +.implements Landroid/os/Parcelable$Creator;
17609 +.annotation system Ldalvik/annotation/EnclosingClass;
17610 + value = Landroid/privacy/PrivacySettings;
17613 +.annotation system Ldalvik/annotation/InnerClass;
17614 + accessFlags = 0x8
17618 +.annotation system Ldalvik/annotation/Signature;
17620 + "Ljava/lang/Object;",
17621 + "Landroid/os/Parcelable$Creator",
17623 + "Landroid/privacy/PrivacySettings;",
17630 +.method constructor <init>()V
17633 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17640 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
17643 + new-instance v0, Landroid/privacy/PrivacySettings;
17645 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
17650 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
17653 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
17655 + move-result-object v0
17660 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
17663 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
17668 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
17671 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
17673 + move-result-object v0
17677 diff -Npruw stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali
17678 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
17679 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2013-08-15 23:20:07.956304776 -0500
17681 +.class public final Landroid/privacy/PrivacySettingsManagerService;
17682 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
17683 +.source "PrivacySettingsManagerService.java"
17687 +.field static final API_VERSION:D = 1.51
17689 +.field static final MOD_DETAILS:Ljava/lang/String; = "OpenPDroid 1.0 by FFU5y, Mateor, wbedard; forked from PDroid 2.0\nPDroid 2.0 by CollegeDev; forked from PDroid\nPDroid by Syvat\'s\nAdditional contributions by Pastime1971"
17691 +.field static final MOD_VERSION:D = 1.0
17693 +.field private static final READ_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.READ_PRIVACY_SETTINGS"
17695 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
17697 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
17699 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
17701 +.field private static sendNotifications:Z
17705 +.field private bootCompleted:Z
17707 +.field private context:Landroid/content/Context;
17709 +.field private enabled:Z
17711 +.field private notificationsEnabled:Z
17713 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17717 +.method static constructor <clinit>()V
17722 + sput-boolean v0, Landroid/privacy/PrivacySettingsManagerService;->sendNotifications:Z
17727 +.method public constructor <init>(Landroid/content/Context;)V
17730 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
17732 + const-string v0, "PrivacySettingsManagerService"
17734 + new-instance v1, Ljava/lang/StringBuilder;
17736 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17738 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
17740 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17742 + move-result-object v1
17744 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17746 + move-result-object v2
17748 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17750 + move-result-object v1
17752 + const-string v2, " UID: "
17754 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17756 + move-result-object v1
17758 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17762 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17764 + move-result-object v1
17766 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17768 + move-result-object v1
17770 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17772 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17774 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
17776 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
17778 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17780 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17782 + const-string v1, "/data/system/privacy"
17784 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17786 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17788 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17790 + const-string v1, "enabled"
17792 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17794 + move-result-object v0
17796 + const-string v1, "1"
17798 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17802 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17804 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17806 + const-string/jumbo v1, "notifications_enabled"
17808 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17810 + move-result-object v0
17812 + const-string v1, "1"
17814 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17818 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17822 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17827 +.method private checkCallerCanReadOrThrow()V
17830 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17834 + const/16 v1, 0x3e8
17836 + if-ne v0, v1, :cond_9
17842 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17844 + const-string v1, "android.privacy.READ_PRIVACY_SETTINGS"
17846 + const-string v2, "Requires READ_PRIVACY_SETTINGS"
17848 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17853 +.method private checkCallerCanReadSettings()Z
17857 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanReadOrThrow()V
17859 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17867 + move-exception v0
17874 +.method private checkCallerCanWriteOrThrow()V
17876 + .annotation system Ldalvik/annotation/Throws;
17878 + Landroid/os/RemoteException;
17882 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17884 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
17886 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
17888 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17893 +.method private checkCallerCanWriteSettings()Z
17895 + .annotation system Ldalvik/annotation/Throws;
17897 + Landroid/os/RemoteException;
17902 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17904 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17912 + move-exception v0
17921 +.method public addObserver(Ljava/lang/String;)V
17923 + .annotation system Ldalvik/annotation/Throws;
17925 + Landroid/os/RemoteException;
17929 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17931 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17933 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17938 +.method public deleteSettings(Ljava/lang/String;)Z
17940 + .annotation system Ldalvik/annotation/Throws;
17942 + Landroid/os/RemoteException;
17948 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17952 + const/16 v3, 0x3e8
17954 + if-eq v2, v3, :cond_c
17956 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17959 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17961 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
17965 + new-instance v2, Ljava/lang/StringBuilder;
17967 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17969 + const-string v3, "/data/system/privacy/"
17971 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17973 + move-result-object v2
17975 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17977 + move-result-object v2
17979 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17981 + move-result-object v0
17983 + new-instance v2, Ljava/io/File;
17985 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
17987 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
17991 + if-eqz v2, :cond_38
17993 + if-ne v1, v4, :cond_38
17995 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17997 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
18004 + if-ne v1, v4, :cond_37
18006 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
18008 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
18010 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
18015 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
18018 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
18020 + if-nez v0, :cond_2e
18022 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
18024 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
18026 + move-result-object v0
18028 + const-string v1, "com.privacy.pdroid"
18030 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18034 + if-nez v0, :cond_2e
18036 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
18038 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
18040 + move-result-object v0
18042 + const-string v1, "com.privacy.pdroid.Addon"
18044 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18048 + if-nez v0, :cond_2e
18050 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
18052 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
18054 + move-result-object v0
18056 + const-string v1, "com.android.privacy.pdroid.extension"
18058 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
18062 + if-eqz v0, :cond_35
18065 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
18067 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
18069 + move-result-object v0
18080 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18083 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
18085 + if-eqz v1, :cond_38
18087 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
18089 + if-eqz v1, :cond_38
18091 + sget-boolean v1, Landroid/privacy/PrivacySettingsManagerService;->sendNotifications:Z
18093 + if-eqz v1, :cond_38
18095 + new-instance v0, Landroid/content/Intent;
18097 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
18099 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
18101 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
18103 + const-string/jumbo v1, "packageName"
18105 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
18107 + const-string/jumbo v1, "uid"
18111 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
18113 + const-string v1, "accessMode"
18115 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
18117 + const-string v1, "dataType"
18119 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
18121 + const-string/jumbo v1, "output"
18123 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
18125 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
18127 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
18133 +.method public purgeSettings()Z
18136 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
18138 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
18145 +.method public registerObservers()V
18147 + .annotation system Ldalvik/annotation/Throws;
18149 + Landroid/os/RemoteException;
18153 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
18155 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
18157 + const-string v1, "/data/system/privacy"
18159 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
18161 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
18166 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
18168 + .annotation system Ldalvik/annotation/Throws;
18170 + Landroid/os/RemoteException;
18174 + const-string v1, "PrivacySettingsManagerService"
18176 + new-instance v2, Ljava/lang/StringBuilder;
18178 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
18180 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
18182 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18184 + move-result-object v2
18186 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
18190 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18192 + move-result-object v2
18194 + const-string v3, ") has sufficient permissions"
18196 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18198 + move-result-object v2
18200 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18202 + move-result-object v2
18204 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
18206 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
18210 + const/16 v2, 0x3e8
18212 + if-eq v1, v2, :cond_2e
18214 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
18217 + const-string v1, "PrivacySettingsManagerService"
18219 + new-instance v2, Ljava/lang/StringBuilder;
18221 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
18223 + const-string/jumbo v3, "saveSettings - "
18225 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18227 + move-result-object v2
18229 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18231 + move-result-object v2
18233 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18235 + move-result-object v2
18237 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
18239 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
18241 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
18247 + if-ne v0, v1, :cond_59
18249 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
18251 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
18253 + move-result-object v2
18255 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
18261 +.method public setBootCompleted()V
18266 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
18271 +.method public setEnabled(Z)Z
18273 + .annotation system Ldalvik/annotation/Throws;
18275 + Landroid/os/RemoteException;
18281 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
18283 + if-eqz p1, :cond_15
18285 + const-string v0, "1"
18288 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
18290 + const-string v3, "enabled"
18292 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
18296 + if-eqz v2, :cond_18
18298 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
18304 + const-string v0, "0"
18314 +.method public setNotificationsEnabled(Z)Z
18316 + .annotation system Ldalvik/annotation/Throws;
18318 + Landroid/os/RemoteException;
18324 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
18326 + if-eqz p1, :cond_18
18328 + const-string v0, "1"
18331 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
18333 + const-string/jumbo v3, "notifications_enabled"
18335 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
18339 + if-eqz v2, :cond_1b
18341 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
18343 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
18349 + const-string v0, "0"
18358 diff -Npruw stock-framework/smali/android/privacy/PrivacySettingsManager.smali pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali
18359 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
18360 +++ pdroid-framework/smali/android/privacy/PrivacySettingsManager.smali 2013-08-15 23:20:07.952304776 -0500
18362 +.class public final Landroid/privacy/PrivacySettingsManager;
18363 +.super Ljava/lang/Object;
18364 +.source "PrivacySettingsManager.java"
18368 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
18370 +.field public static final ACTION_PRIVACY_NOTIFICATION_ADDON:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION_ADDON"
18372 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
18376 +.field private service:Landroid/privacy/IPrivacySettingsManager;
18380 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
18383 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18385 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18392 +.method public addObserver(Ljava/lang/String;)V
18396 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18398 + if-eqz v1, :cond_a
18400 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18402 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
18408 + const-string v1, "PrivacySettingsManager"
18410 + const-string v2, "PrivacySettingsManager:addObserver: PrivacySettingsManagerService is null"
18412 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18414 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18419 + move-exception v0
18421 + const-string v1, "PrivacySettingsManager"
18423 + const-string v2, "RemoteException in addObserver: "
18425 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18430 +.method public deleteSettings(Ljava/lang/String;)Z
18436 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18438 + if-eqz v2, :cond_c
18440 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18442 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
18450 + const-string v2, "PrivacySettingsManager"
18452 + const-string v3, "PrivacySettingsManager:deleteSettings: PrivacySettingsManagerService is null"
18454 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18456 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
18461 + move-exception v0
18463 + const-string v2, "PrivacySettingsManager"
18465 + const-string v3, "RemoteException in deleteSettings: "
18467 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18472 +.method public deleteSettings(Ljava/lang/String;I)Z
18474 + .annotation runtime Ljava/lang/Deprecated;
18477 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
18484 +.method public getApiVersion()D
18487 + const-wide v0, 0x3ff828f5c28f5c29L
18492 +.method public getModDetails()Ljava/lang/String;
18495 + const-string v0, "OpenPDroid 1.0 by FFU5y, Mateor, wbedard; forked from PDroid 2.0\nPDroid 2.0 by CollegeDev; forked from PDroid\nPDroid by Syvat\'s\nAdditional contributions by Pastime1971"
18500 +.method public getModVersion()D
18503 + const-wide/high16 v0, 0x3ff0
18508 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
18514 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18516 + if-eqz v2, :cond_c
18518 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18520 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
18522 + move-result-object v1
18528 + const-string v2, "PrivacySettingsManager"
18530 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
18532 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18534 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
18539 + move-exception v0
18541 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
18546 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
18548 + .annotation runtime Ljava/lang/Deprecated;
18551 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
18553 + move-result-object v0
18558 +.method public getVersion()D
18560 + .annotation runtime Ljava/lang/Deprecated;
18563 + const-wide v0, 0x3ff828f5c28f5c29L
18568 +.method public isServiceAvailable()Z
18571 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18573 + if-eqz v0, :cond_6
18586 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18590 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18592 + if-eqz v1, :cond_a
18594 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18596 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18602 + const-string v1, "PrivacySettingsManager"
18604 + const-string v2, "PrivacySettingsManager:notification: PrivacySettingsManagerService is null"
18606 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18608 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18613 + move-exception v0
18615 + const-string v1, "PrivacySettingsManager"
18617 + const-string v2, "RemoteException in notification: "
18619 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18624 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18626 + .annotation runtime Ljava/lang/Deprecated;
18629 + invoke-virtual {p0, p1, p2, p3, p4}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18634 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18636 + .annotation runtime Ljava/lang/Deprecated;
18639 + invoke-virtual {p0, p1, p3, p4, p5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18644 +.method public purgeSettings()Z
18648 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18650 + if-eqz v1, :cond_b
18652 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18654 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
18662 + const-string v1, "PrivacySettingsManager"
18664 + const-string v2, "PrivacySettingsManager:purgeSettings: PrivacySettingsManagerService is null"
18666 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18668 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
18676 + move-exception v0
18678 + const-string v1, "PrivacySettingsManager"
18680 + const-string v2, "RemoteException in purgeSettings: "
18682 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18687 +.method public registerObservers()V
18691 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18693 + if-eqz v1, :cond_a
18695 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18697 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
18703 + const-string v1, "PrivacySettingsManager"
18705 + const-string v2, "PrivacySettingsManager:registerObservers: PrivacySettingsManagerService is null"
18707 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18709 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18714 + move-exception v0
18716 + const-string v1, "PrivacySettingsManager"
18718 + const-string v2, "RemoteException in registerObservers: "
18720 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18725 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
18731 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18733 + if-eqz v2, :cond_c
18735 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18737 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
18745 + const-string v2, "PrivacySettingsManager"
18747 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
18749 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18751 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
18756 + move-exception v0
18758 + const-string v2, "PrivacySettingsManager"
18760 + const-string v3, "RemoteException in saveSettings: "
18762 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18767 +.method public setBootCompleted()V
18771 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18773 + if-eqz v1, :cond_a
18775 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18777 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
18783 + const-string v1, "PrivacySettingsManager"
18785 + const-string v2, "PrivacySettingsManager:setBootCompleted: PrivacySettingsManagerService is null"
18787 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18789 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18794 + move-exception v0
18796 + const-string v1, "PrivacySettingsManager"
18798 + const-string v2, "RemoteException in setBootCompleted: "
18800 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18805 +.method public setEnabled(Z)Z
18809 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18811 + if-eqz v1, :cond_b
18813 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18815 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
18823 + const-string v1, "PrivacySettingsManager"
18825 + const-string v2, "PrivacySettingsManager:setEnabled: PrivacySettingsManagerService is null"
18827 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18829 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
18837 + move-exception v0
18839 + const-string v1, "PrivacySettingsManager"
18841 + const-string v2, "RemoteException in setEnabled: "
18843 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18848 +.method public setNotificationsEnabled(Z)Z
18852 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18854 + if-eqz v1, :cond_b
18856 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18858 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
18866 + const-string v1, "PrivacySettingsManager"
18868 + const-string v2, "PrivacySettingsManager:setNotificationsEnabled: PrivacySettingsManagerService is null"
18870 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18872 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
18880 + move-exception v0
18882 + const-string v1, "PrivacySettingsManager"
18884 + const-string v2, "RemoteException in setNotificationsEnabled: "
18886 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18890 diff -Npruw stock-framework/smali/android/privacy/PrivacySettings.smali pdroid-framework/smali/android/privacy/PrivacySettings.smali
18891 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
18892 +++ pdroid-framework/smali/android/privacy/PrivacySettings.smali 2013-08-15 23:20:07.952304776 -0500
18894 +.class public final Landroid/privacy/PrivacySettings;
18895 +.super Landroid/privacy/PrivacySettingsStub;
18896 +.source "PrivacySettings.java"
18899 +.implements Landroid/os/Parcelable;
18903 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
18904 + .annotation system Ldalvik/annotation/Signature;
18906 + "Landroid/os/Parcelable$Creator",
18908 + "Landroid/privacy/PrivacySettings;",
18914 +.field public static final CUSTOM:B = 0x2t
18916 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
18918 +.field public static final DATA_ANDROID_ID:Ljava/lang/String; = "android_id"
18920 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
18922 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
18924 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
18926 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
18928 +.field public static final DATA_CAMERA:Ljava/lang/String; = "camera"
18930 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
18932 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
18934 +.field public static final DATA_ICC_ACCESS:Ljava/lang/String; = "iccAccess"
18936 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
18938 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
18940 +.field public static final DATA_IP_TABLES:Ljava/lang/String; = "iptables"
18942 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
18944 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
18946 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
18948 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
18950 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
18952 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
18954 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
18956 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
18958 +.field public static final DATA_PHONE_CALL:Ljava/lang/String; = "phoneCall"
18960 +.field public static final DATA_RECORD_AUDIO:Ljava/lang/String; = "recordAudio"
18962 +.field public static final DATA_SEND_MMS:Ljava/lang/String; = "sendMms"
18964 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
18966 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
18968 +.field public static final DATA_SMS_SEND:Ljava/lang/String; = "SmsSend"
18970 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
18972 +.field public static final DATA_SWITCH_CONNECTIVITY:Ljava/lang/String; = "switchconnectivity"
18974 +.field public static final DATA_SWITCH_WIFI_STATE:Ljava/lang/String; = "switchWifiState"
18976 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
18978 +.field public static final DATA_WIFI_INFO:Ljava/lang/String; = "wifiInfo"
18980 +.field public static final EMPTY:B = 0x1t
18982 +.field public static final ID_PATTERN:[Ljava/lang/String; = null
18984 +.field public static final RANDOM:B = 0x3t
18986 +.field public static final REAL:B = 0x0t
18988 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
18990 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
18994 +.field private final _id:Ljava/lang/Integer;
18996 +.field private accountsAuthTokensSetting:B
18998 +.field private accountsSetting:B
19000 +.field private addOnManagementSetting:B
19002 +.field private allowedContacts:[I
19004 +.field private androidID:Ljava/lang/String;
19006 +.field private androidIdSetting:B
19008 +.field private bookmarksSetting:B
19010 +.field private calendarSetting:B
19012 +.field private callLogSetting:B
19014 +.field private cameraSetting:B
19016 +.field private contactsSetting:B
19018 +.field private deviceId:Ljava/lang/String;
19020 +.field private deviceIdSetting:B
19022 +.field private forceOnlineState:B
19024 +.field private iccAccessSetting:B
19026 +.field private incomingCallsSetting:B
19028 +.field private intentBootCompletedSetting:B
19030 +.field private ipTableProtectSetting:B
19032 +.field private line1Number:Ljava/lang/String;
19034 +.field private line1NumberSetting:B
19036 +.field private locationGpsLat:Ljava/lang/String;
19038 +.field private locationGpsLon:Ljava/lang/String;
19040 +.field private locationGpsSetting:B
19042 +.field private locationNetworkLat:Ljava/lang/String;
19044 +.field private locationNetworkLon:Ljava/lang/String;
19046 +.field private locationNetworkSetting:B
19048 +.field private mmsSetting:B
19050 +.field private networkInfoSetting:B
19052 +.field private notificationSetting:B
19054 +.field private outgoingCallsSetting:B
19056 +.field private packageName:Ljava/lang/String;
19058 +.field private phoneCallSetting:B
19060 +.field private recordAudioSetting:B
19062 +.field private sendMmsSetting:B
19064 +.field private simInfoSetting:B
19066 +.field private simSerialNumber:Ljava/lang/String;
19068 +.field private simSerialNumberSetting:B
19070 +.field private smsSendSetting:B
19072 +.field private smsSetting:B
19074 +.field private subscriberId:Ljava/lang/String;
19076 +.field private subscriberIdSetting:B
19078 +.field private switchConnectivitySetting:B
19080 +.field private switchWifiStateSetting:B
19082 +.field private systemLogsSetting:B
19084 +.field private uid:I
19086 +.field private wifiInfoSetting:B
19090 +.method static constructor <clinit>()V
19093 + const/16 v0, 0x10
19095 + new-array v0, v0, [Ljava/lang/String;
19099 + const-string v2, "0"
19101 + aput-object v2, v0, v1
19105 + const-string v2, "1"
19107 + aput-object v2, v0, v1
19111 + const-string v2, "2"
19113 + aput-object v2, v0, v1
19117 + const-string v2, "3"
19119 + aput-object v2, v0, v1
19123 + const-string v2, "4"
19125 + aput-object v2, v0, v1
19129 + const-string v2, "5"
19131 + aput-object v2, v0, v1
19135 + const-string v2, "6"
19137 + aput-object v2, v0, v1
19141 + const-string v2, "7"
19143 + aput-object v2, v0, v1
19147 + const-string v2, "8"
19149 + aput-object v2, v0, v1
19153 + const-string v2, "9"
19155 + aput-object v2, v0, v1
19159 + const-string v2, "a"
19161 + aput-object v2, v0, v1
19165 + const-string v2, "b"
19167 + aput-object v2, v0, v1
19171 + const-string v2, "c"
19173 + aput-object v2, v0, v1
19177 + const-string v2, "d"
19179 + aput-object v2, v0, v1
19183 + const-string v2, "e"
19185 + aput-object v2, v0, v1
19189 + const-string v2, "f"
19191 + aput-object v2, v0, v1
19193 + sput-object v0, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19195 + new-instance v0, Landroid/privacy/PrivacySettings$1;
19197 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
19199 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
19204 +.method public constructor <init>(Landroid/os/Parcel;)V
19207 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsStub;-><init>()V
19209 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
19215 + if-ne v0, v1, :cond_122
19220 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19222 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19224 + move-result-object v1
19226 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19228 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
19232 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
19234 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19238 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19240 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19242 + move-result-object v1
19244 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19246 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19250 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19252 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19254 + move-result-object v1
19256 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19258 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19262 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19264 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19266 + move-result-object v1
19268 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19270 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19272 + move-result-object v1
19274 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19276 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19280 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19282 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19284 + move-result-object v1
19286 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19288 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19290 + move-result-object v1
19292 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19294 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19298 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19300 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19304 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19306 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19310 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19312 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19314 + move-result-object v1
19316 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19318 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19322 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19324 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19326 + move-result-object v1
19328 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19330 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19334 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19336 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19340 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19342 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19346 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19348 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19352 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19354 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19358 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19360 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19364 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19366 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19370 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19372 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19376 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19378 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19382 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19384 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19388 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19390 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19394 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19396 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19400 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19402 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19406 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19408 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19412 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19414 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19418 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19420 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
19422 + move-result-object v1
19424 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19426 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19430 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19432 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19436 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19438 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19442 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19444 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19448 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19450 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19454 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19456 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19460 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19462 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
19464 + move-result-object v1
19466 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19468 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19472 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19474 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19478 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19480 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19484 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19486 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19490 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19492 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
19496 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19501 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19503 + move-result-object v1
19508 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
19517 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsStub;-><init>()V
19519 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19521 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19523 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19525 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19527 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19529 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19531 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19533 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19535 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19537 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19539 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19541 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19543 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19545 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19547 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19549 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19551 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19553 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19555 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19557 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19559 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19561 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19563 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19565 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19567 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19569 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19571 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19573 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19575 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19577 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19579 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19581 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19583 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19585 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19587 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19589 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19591 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19593 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19595 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19597 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19599 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19601 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19603 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19605 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19607 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19609 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19611 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19616 +.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[IBBBBBBLjava/lang/String;BBBBB)V
19619 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsStub;-><init>()V
19621 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19623 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19625 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19627 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19629 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19631 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19633 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19635 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19637 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19639 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19641 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19643 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19645 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19647 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19649 + move/from16 v0, p15
19651 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19653 + move/from16 v0, p16
19655 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19657 + move-object/from16 v0, p17
19659 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19661 + move/from16 v0, p18
19663 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19665 + move-object/from16 v0, p19
19667 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19669 + move/from16 v0, p20
19671 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19673 + move/from16 v0, p21
19675 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19677 + move/from16 v0, p22
19679 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19681 + move/from16 v0, p23
19683 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19685 + move/from16 v0, p24
19687 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19689 + move/from16 v0, p25
19691 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19693 + move/from16 v0, p26
19695 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19697 + move/from16 v0, p27
19699 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19701 + move/from16 v0, p28
19703 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19705 + move/from16 v0, p29
19707 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19709 + move/from16 v0, p30
19711 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19713 + move/from16 v0, p34
19715 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19717 + move/from16 v0, p35
19719 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19721 + move/from16 v0, p32
19723 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19725 + move/from16 v0, p33
19727 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19729 + move-object/from16 v0, p36
19731 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19733 + move/from16 v0, p37
19735 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19737 + move/from16 v0, p38
19739 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19741 + move/from16 v0, p39
19743 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19745 + move/from16 v0, p40
19747 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19749 + move/from16 v0, p41
19751 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19753 + move/from16 v0, p42
19755 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19757 + move-object/from16 v0, p43
19759 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19761 + move/from16 v0, p44
19763 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19765 + move/from16 v0, p45
19767 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19769 + move/from16 v0, p46
19771 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19773 + move/from16 v0, p47
19775 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19777 + move/from16 v0, p48
19779 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19784 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IZ)V
19795 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsStub;-><init>()V
19797 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19799 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19801 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19803 + if-eqz p4, :cond_68
19805 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19807 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19809 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19811 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19813 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19815 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19817 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19819 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19821 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19823 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19825 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19827 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19829 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19831 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19833 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19835 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19837 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19839 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19841 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19843 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19845 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19847 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19849 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19851 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19853 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19855 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19857 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19859 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19861 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19863 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19865 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19867 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19869 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19871 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19873 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19875 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19877 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19879 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19881 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19883 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19885 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19887 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19889 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19891 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19897 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19899 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19901 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19903 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19905 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19907 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19909 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19911 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19913 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19915 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19917 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19919 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19921 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19923 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19925 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19927 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19929 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19931 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19933 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19935 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19937 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19939 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19941 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19943 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19945 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19947 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19949 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19951 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19953 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19955 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19957 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19959 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19961 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19963 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19965 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19967 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19969 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19971 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19973 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19975 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19977 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19979 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19981 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19983 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19988 +.method private getRandomLat()Ljava/lang/String;
19991 + const-wide v7, 0x4056800000000000L
19993 + invoke-static {}, Ljava/lang/Math;->random()D
19995 + move-result-wide v3
19997 + const-wide v5, 0x4066800000000000L
19999 + mul-double v0, v3, v5
20001 + cmpl-double v3, v0, v7
20003 + if-lez v3, :cond_35
20005 + new-instance v2, Ljava/math/BigDecimal;
20007 + sub-double v3, v0, v7
20009 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
20012 + new-instance v3, Ljava/lang/StringBuilder;
20014 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20020 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
20022 + move-result-object v4
20024 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20026 + move-result-object v3
20028 + const-string v4, ""
20030 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20032 + move-result-object v3
20034 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20036 + move-result-object v3
20041 + new-instance v2, Ljava/math/BigDecimal;
20043 + neg-double v3, v0
20045 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
20050 +.method private getRandomLon()Ljava/lang/String;
20053 + const-wide v7, 0x4066800000000000L
20055 + invoke-static {}, Ljava/lang/Math;->random()D
20057 + move-result-wide v3
20059 + const-wide v5, 0x4076800000000000L
20061 + mul-double v0, v3, v5
20063 + cmpl-double v3, v0, v7
20065 + if-lez v3, :cond_35
20067 + new-instance v2, Ljava/math/BigDecimal;
20069 + sub-double v3, v0, v7
20071 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
20074 + new-instance v3, Ljava/lang/StringBuilder;
20076 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20082 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
20084 + move-result-object v4
20086 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20088 + move-result-object v3
20090 + const-string v4, ""
20092 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20094 + move-result-object v3
20096 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20098 + move-result-object v3
20103 + new-instance v2, Ljava/math/BigDecimal;
20105 + neg-double v3, v0
20107 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
20114 +.method public describeContents()I
20122 +.method public getAccountsAuthTokensSetting()B
20125 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20130 +.method public getAccountsSetting()B
20133 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20138 +.method public getAddOnManagementSetting()B
20141 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
20146 +.method public getAllowedContacts()[I
20149 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
20154 +.method public getAndroidID()Ljava/lang/String;
20157 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
20161 + if-ne v3, v4, :cond_9
20163 + const-string/jumbo v3, "q4a5w896ay21dr46"
20169 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
20173 + if-ne v3, v4, :cond_36
20175 + new-instance v2, Ljava/util/Random;
20177 + invoke-direct {v2}, Ljava/util/Random;-><init>()V
20179 + new-instance v1, Ljava/lang/StringBuilder;
20181 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
20186 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
20188 + array-length v3, v3
20190 + if-ge v0, v3, :cond_31
20192 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
20194 + sget-object v4, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
20196 + array-length v4, v4
20198 + add-int/lit8 v4, v4, -0x1
20200 + invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
20204 + aget-object v3, v3, v4
20206 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20208 + add-int/lit8 v0, v0, 0x1
20213 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20215 + move-result-object v3
20220 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
20225 +.method public getAndroidIdSetting()B
20228 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
20233 +.method public getBookmarksSetting()B
20236 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20241 +.method public getCalendarSetting()B
20244 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20249 +.method public getCallLogSetting()B
20252 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20257 +.method public getCameraSetting()B
20260 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
20265 +.method public getContactsSetting()B
20268 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20273 +.method public getDeviceId()Ljava/lang/String;
20280 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20284 + if-ne v3, v4, :cond_b
20286 + const-string v3, ""
20292 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20296 + if-ne v3, v4, :cond_62
20298 + new-instance v1, Ljava/util/Random;
20300 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
20302 + new-instance v3, Ljava/lang/StringBuilder;
20304 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20306 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
20308 + move-result-wide v4
20310 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
20312 + move-result-wide v4
20314 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20316 + move-result-object v3
20318 + const-string v4, ""
20320 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20322 + move-result-object v3
20324 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20326 + move-result-object v2
20328 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20332 + if-le v3, v6, :cond_3b
20334 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20336 + move-result-object v3
20341 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20346 + const/16 v3, 0x10
20348 + if-gt v0, v3, :cond_5d
20350 + new-instance v3, Ljava/lang/StringBuilder;
20352 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20354 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20356 + move-result-object v3
20360 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20364 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20366 + move-result-object v3
20368 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20370 + move-result-object v2
20372 + add-int/lit8 v0, v0, 0x1
20377 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20379 + move-result-object v3
20384 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
20389 +.method public getDeviceIdSetting()B
20392 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20397 +.method public getForceOnlineState()B
20400 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
20405 +.method public getIccAccessSetting()B
20408 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
20413 +.method public getIncomingCallsSetting()B
20416 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
20421 +.method public getIntentBootCompletedSetting()B
20424 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
20429 +.method public getIpTableProtectSetting()B
20432 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
20437 +.method public getLine1Number()Ljava/lang/String;
20444 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20448 + if-ne v3, v4, :cond_b
20450 + const-string v3, ""
20456 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20460 + if-ne v3, v4, :cond_68
20462 + new-instance v1, Ljava/util/Random;
20464 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
20466 + new-instance v3, Ljava/lang/StringBuilder;
20468 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20470 + const-string v4, "+"
20472 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20474 + move-result-object v3
20476 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
20478 + move-result-wide v4
20480 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
20482 + move-result-wide v4
20484 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20486 + move-result-object v3
20488 + const-string v4, ""
20490 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20492 + move-result-object v3
20494 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20496 + move-result-object v2
20498 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20502 + if-le v3, v6, :cond_41
20504 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20506 + move-result-object v3
20511 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20518 + if-gt v0, v3, :cond_63
20520 + new-instance v3, Ljava/lang/StringBuilder;
20522 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20524 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20526 + move-result-object v3
20530 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20534 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20536 + move-result-object v3
20538 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20540 + move-result-object v2
20542 + add-int/lit8 v0, v0, 0x1
20547 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20549 + move-result-object v3
20554 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20559 +.method public getLine1NumberSetting()B
20562 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20567 +.method public getLocationGpsLat()Ljava/lang/String;
20570 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20574 + if-ne v0, v1, :cond_8
20576 + const-string v0, ""
20582 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20586 + if-ne v0, v1, :cond_12
20588 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
20590 + move-result-object v0
20595 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20600 +.method public getLocationGpsLon()Ljava/lang/String;
20603 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20607 + if-ne v0, v1, :cond_8
20609 + const-string v0, ""
20615 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20619 + if-ne v0, v1, :cond_12
20621 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
20623 + move-result-object v0
20628 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20633 +.method public getLocationGpsSetting()B
20636 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20641 +.method public getLocationNetworkLat()Ljava/lang/String;
20644 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20648 + if-ne v0, v1, :cond_8
20650 + const-string v0, ""
20656 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20660 + if-ne v0, v1, :cond_12
20662 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
20664 + move-result-object v0
20669 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20674 +.method public getLocationNetworkLon()Ljava/lang/String;
20677 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20681 + if-ne v0, v1, :cond_8
20683 + const-string v0, ""
20689 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20693 + if-ne v0, v1, :cond_12
20695 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
20697 + move-result-object v0
20702 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20707 +.method public getLocationNetworkSetting()B
20710 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20715 +.method public getMmsSetting()B
20718 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20723 +.method public getNetworkInfoSetting()B
20726 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20731 +.method public getNotificationSetting()B
20734 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20739 +.method public getOutgoingCallsSetting()B
20742 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20747 +.method public getPackageName()Ljava/lang/String;
20750 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20755 +.method public getPhoneCallSetting()B
20758 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20763 +.method public getRecordAudioSetting()B
20766 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20771 +.method public getSendMmsSetting()B
20774 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20779 +.method public getSimInfoSetting()B
20782 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20787 +.method public getSimSerialNumber()Ljava/lang/String;
20790 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20794 + if-ne v1, v2, :cond_8
20796 + const-string v1, ""
20802 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20806 + if-ne v1, v2, :cond_2e
20808 + new-instance v0, Ljava/util/Random;
20810 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
20812 + new-instance v1, Ljava/lang/StringBuilder;
20814 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
20816 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
20818 + move-result-wide v2
20820 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
20822 + move-result-wide v2
20824 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20826 + move-result-object v1
20828 + const-string v2, ""
20830 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20832 + move-result-object v1
20834 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20836 + move-result-object v1
20841 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20846 +.method public getSimSerialNumberSetting()B
20849 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20854 +.method public getSmsSendSetting()B
20857 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20862 +.method public getSmsSetting()B
20865 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20870 +.method public getSubscriberId()Ljava/lang/String;
20877 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20881 + if-ne v3, v4, :cond_b
20883 + const-string v3, ""
20889 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20893 + if-ne v3, v4, :cond_62
20895 + new-instance v1, Ljava/util/Random;
20897 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
20899 + new-instance v3, Ljava/lang/StringBuilder;
20901 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20903 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
20905 + move-result-wide v4
20907 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
20909 + move-result-wide v4
20911 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20913 + move-result-object v3
20915 + const-string v4, ""
20917 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20919 + move-result-object v3
20921 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20923 + move-result-object v2
20925 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20929 + if-le v3, v6, :cond_3b
20931 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20933 + move-result-object v3
20938 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20943 + const/16 v3, 0x10
20945 + if-gt v0, v3, :cond_5d
20947 + new-instance v3, Ljava/lang/StringBuilder;
20949 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20951 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20953 + move-result-object v3
20957 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20961 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20963 + move-result-object v3
20965 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20967 + move-result-object v2
20969 + add-int/lit8 v0, v0, 0x1
20974 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20976 + move-result-object v3
20981 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20986 +.method public getSubscriberIdSetting()B
20989 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20994 +.method public getSwitchConnectivitySetting()B
20997 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21002 +.method public getSwitchWifiStateSetting()B
21005 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21010 +.method public getSystemLogsSetting()B
21013 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21018 +.method public getUid()I
21021 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
21026 +.method public getWifiInfoSetting()B
21029 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21034 +.method public get_id()Ljava/lang/Integer;
21037 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21042 +.method public setAccountsAuthTokensSetting(B)V
21045 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
21050 +.method public setAccountsSetting(B)V
21053 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
21058 +.method public setAddOnManagementSetting(B)V
21061 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21066 +.method public setAllowedContacts([I)V
21069 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
21074 +.method public setAndroidID(Ljava/lang/String;)V
21077 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21082 +.method public setAndroidIdSetting(B)V
21085 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21090 +.method public setBookmarksSetting(B)V
21093 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
21098 +.method public setCalendarSetting(B)V
21101 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
21106 +.method public setCallLogSetting(B)V
21109 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
21114 +.method public setCameraSetting(B)V
21117 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21122 +.method public setContactsSetting(B)V
21125 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
21130 +.method public setDeviceId(Ljava/lang/String;)V
21133 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
21138 +.method public setDeviceIdSetting(B)V
21141 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
21146 +.method public setForceOnlineState(B)V
21149 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21154 +.method public setIccAccessSetting(B)V
21157 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21162 +.method public setIncomingCallsSetting(B)V
21165 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
21170 +.method public setIntentBootCompletedSetting(B)V
21173 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
21178 +.method public setIpTableProtectSetting(B)V
21181 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21186 +.method public setLine1Number(Ljava/lang/String;)V
21189 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
21194 +.method public setLine1NumberSetting(B)V
21197 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
21202 +.method public setLocationGpsLat(Ljava/lang/String;)V
21205 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
21210 +.method public setLocationGpsLon(Ljava/lang/String;)V
21213 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
21218 +.method public setLocationGpsSetting(B)V
21221 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
21226 +.method public setLocationNetworkLat(Ljava/lang/String;)V
21229 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
21234 +.method public setLocationNetworkLon(Ljava/lang/String;)V
21237 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
21242 +.method public setLocationNetworkSetting(B)V
21245 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
21250 +.method public setMmsSetting(B)V
21253 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21258 +.method public setNetworkInfoSetting(B)V
21261 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
21266 +.method public setNotificationSetting(B)V
21269 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
21274 +.method public setOutgoingCallsSetting(B)V
21277 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
21282 +.method public setPackageName(Ljava/lang/String;)V
21285 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21290 +.method public setPhoneCallSetting(B)V
21293 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21298 +.method public setRecordAudioSetting(B)V
21301 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21306 +.method public setSendMmsSetting(B)V
21309 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21314 +.method public setSimInfoSetting(B)V
21317 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21322 +.method public setSimSerialNumber(Ljava/lang/String;)V
21325 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21330 +.method public setSimSerialNumberSetting(B)V
21333 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21338 +.method public setSmsSendSetting(B)V
21341 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21346 +.method public setSmsSetting(B)V
21349 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21354 +.method public setSubscriberId(Ljava/lang/String;)V
21357 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21362 +.method public setSubscriberIdSetting(B)V
21365 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21370 +.method public setSwitchConnectivitySetting(B)V
21373 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21378 +.method public setSwitchWifiStateSetting(B)V
21381 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21386 +.method public setSystemLogsSetting(B)V
21389 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21394 +.method public setUid(I)V
21397 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
21402 +.method public setWifiInfoSetting(B)V
21405 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21410 +.method public toString()Ljava/lang/String;
21413 + new-instance v0, Ljava/lang/StringBuilder;
21415 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
21417 + const-string v1, "PrivacySettings [_id="
21419 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21421 + move-result-object v0
21423 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21425 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
21427 + move-result-object v0
21429 + const-string v1, ", accountsAuthTokensSetting="
21431 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21433 + move-result-object v0
21435 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
21437 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21439 + move-result-object v0
21441 + const-string v1, ", accountsSetting="
21443 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21445 + move-result-object v0
21447 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
21449 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21451 + move-result-object v0
21453 + const-string v1, ", bookmarksSetting="
21455 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21457 + move-result-object v0
21459 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
21461 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21463 + move-result-object v0
21465 + const-string v1, ", calendarSetting="
21467 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21469 + move-result-object v0
21471 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
21473 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21475 + move-result-object v0
21477 + const-string v1, ", callLogSetting="
21479 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21481 + move-result-object v0
21483 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
21485 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21487 + move-result-object v0
21489 + const-string v1, ", contactsSetting="
21491 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21493 + move-result-object v0
21495 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
21497 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21499 + move-result-object v0
21501 + const-string v1, ", deviceId="
21503 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21505 + move-result-object v0
21507 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
21509 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21511 + move-result-object v0
21513 + const-string v1, ", deviceIdSetting="
21515 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21517 + move-result-object v0
21519 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
21521 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21523 + move-result-object v0
21525 + const-string v1, ", incomingCallsSetting="
21527 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21529 + move-result-object v0
21531 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
21533 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21535 + move-result-object v0
21537 + const-string v1, ", intentBootCompletedSetting="
21539 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21541 + move-result-object v0
21543 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
21545 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21547 + move-result-object v0
21549 + const-string v1, ", line1Number="
21551 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21553 + move-result-object v0
21555 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
21557 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21559 + move-result-object v0
21561 + const-string v1, ", line1NumberSetting="
21563 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21565 + move-result-object v0
21567 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
21569 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21571 + move-result-object v0
21573 + const-string v1, ", locationGpsLat="
21575 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21577 + move-result-object v0
21579 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
21581 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21583 + move-result-object v0
21585 + const-string v1, ", locationGpsLon="
21587 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21589 + move-result-object v0
21591 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
21593 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21595 + move-result-object v0
21597 + const-string v1, ", locationGpsSetting="
21599 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21601 + move-result-object v0
21603 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
21605 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21607 + move-result-object v0
21609 + const-string v1, ", locationNetworkLat="
21611 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21613 + move-result-object v0
21615 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
21617 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21619 + move-result-object v0
21621 + const-string v1, ", locationNetworkLon="
21623 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21625 + move-result-object v0
21627 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
21629 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21631 + move-result-object v0
21633 + const-string v1, ", locationNetworkSetting="
21635 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21637 + move-result-object v0
21639 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
21641 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21643 + move-result-object v0
21645 + const-string v1, ", mmsSetting="
21647 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21649 + move-result-object v0
21651 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21653 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21655 + move-result-object v0
21657 + const-string v1, ", networkInfoSetting="
21659 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21661 + move-result-object v0
21663 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
21665 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21667 + move-result-object v0
21669 + const-string v1, ", notificationSetting="
21671 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21673 + move-result-object v0
21675 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
21677 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21679 + move-result-object v0
21681 + const-string v1, ", outgoingCallsSetting="
21683 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21685 + move-result-object v0
21687 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
21689 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21691 + move-result-object v0
21693 + const-string v1, ", packageName="
21695 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21697 + move-result-object v0
21699 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21701 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21703 + move-result-object v0
21705 + const-string v1, ", simInfoSetting="
21707 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21709 + move-result-object v0
21711 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21713 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21715 + move-result-object v0
21717 + const-string v1, ", simSerialNumber="
21719 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21721 + move-result-object v0
21723 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21725 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21727 + move-result-object v0
21729 + const-string v1, ", simSerialNumberSetting="
21731 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21733 + move-result-object v0
21735 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21737 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21739 + move-result-object v0
21741 + const-string v1, ", smsSetting="
21743 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21745 + move-result-object v0
21747 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21749 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21751 + move-result-object v0
21753 + const-string v1, ", subscriberId="
21755 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21757 + move-result-object v0
21759 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21761 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21763 + move-result-object v0
21765 + const-string v1, ", subscriberIdSetting="
21767 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21769 + move-result-object v0
21771 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21773 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21775 + move-result-object v0
21777 + const-string v1, ", systemLogsSetting="
21779 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21781 + move-result-object v0
21783 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21785 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21787 + move-result-object v0
21789 + const-string v1, ", uid="
21791 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21793 + move-result-object v0
21795 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
21797 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21799 + move-result-object v0
21801 + const-string v1, ", phoneCallSetting="
21803 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21805 + move-result-object v0
21807 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21809 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21811 + move-result-object v0
21813 + const-string v1, ", smsSendSetting="
21815 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21817 + move-result-object v0
21819 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21821 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21823 + move-result-object v0
21825 + const-string v1, ", recordAudioSetting="
21827 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21829 + move-result-object v0
21831 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21833 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21835 + move-result-object v0
21837 + const-string v1, ", cameraSetting="
21839 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21841 + move-result-object v0
21843 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21845 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21847 + move-result-object v0
21849 + const-string v1, ", ipTableProtectSetting="
21851 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21853 + move-result-object v0
21855 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21857 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21859 + move-result-object v0
21861 + const-string v1, ", iccAccessSetting="
21863 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21865 + move-result-object v0
21867 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21869 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21871 + move-result-object v0
21873 + const-string v1, ", addOnManagementSetting="
21875 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21877 + move-result-object v0
21879 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21881 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21883 + move-result-object v0
21885 + const-string v1, ", android ID="
21887 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21889 + move-result-object v0
21891 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21893 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21895 + move-result-object v0
21897 + const-string v1, ", androidIdSetting="
21899 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21901 + move-result-object v0
21903 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21905 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21907 + move-result-object v0
21909 + const-string v1, ", wifiInfoSetting="
21911 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21913 + move-result-object v0
21915 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21917 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21919 + move-result-object v0
21921 + const-string v1, ", switchConnectivitySetting="
21923 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21925 + move-result-object v0
21927 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21929 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21931 + move-result-object v0
21933 + const-string v1, ", sendMmsSetting="
21935 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21937 + move-result-object v0
21939 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21941 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21943 + move-result-object v0
21945 + const-string v1, ", forceOnlineState="
21947 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21949 + move-result-object v0
21951 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21953 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21955 + move-result-object v0
21957 + const-string v1, ", switchWifiStateSetting="
21959 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21961 + move-result-object v0
21963 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21965 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21967 + move-result-object v0
21969 + const-string v1, "]"
21971 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21973 + move-result-object v0
21975 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21977 + move-result-object v0
21982 +.method public writeToParcel(Landroid/os/Parcel;I)V
21985 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21987 + if-nez v0, :cond_ef
21992 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21994 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21996 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21998 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
22000 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
22002 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
22004 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22006 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
22008 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22010 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
22012 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22014 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
22016 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22018 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
22020 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22022 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
22024 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22026 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
22028 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22030 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
22032 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22034 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
22036 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22038 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
22040 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22042 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
22044 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22046 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
22048 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
22052 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22054 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
22056 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22058 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
22060 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22062 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
22064 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22066 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
22068 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22070 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
22072 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22074 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
22076 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22078 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
22080 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22082 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
22084 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22086 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
22088 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22090 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
22092 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22094 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
22096 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22098 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
22100 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22102 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
22104 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22106 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
22108 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22110 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
22112 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22114 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
22116 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22118 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
22120 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22122 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
22124 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22126 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
22128 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
22130 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
22132 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22134 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
22136 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22138 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
22140 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22142 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
22144 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22146 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
22148 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22150 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
22152 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22154 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
22156 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
22158 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
22160 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22162 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
22164 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22166 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
22168 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22170 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
22172 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22174 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
22176 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
22181 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
22183 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
22189 diff -Npruw stock-framework/smali/android/privacy/PrivacySettingsStub.smali pdroid-framework/smali/android/privacy/PrivacySettingsStub.smali
22190 --- stock-framework/smali/android/privacy/PrivacySettingsStub.smali 1969-12-31 18:00:00.000000000 -0600
22191 +++ pdroid-framework/smali/android/privacy/PrivacySettingsStub.smali 2013-08-15 23:20:07.948304776 -0500
22193 +.class Landroid/privacy/PrivacySettingsStub;
22194 +.super Ljava/lang/Object;
22195 +.source "PrivacySettingsStub.java"
22199 +.field private static final isStub:Z = true
22203 +.method constructor <init>()V
22206 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
22220 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
22221 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
22222 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2013-08-15 23:20:07.956304776 -0500
22224 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22225 +.super Ljava/lang/Object;
22226 +.source "PrivacyAccountManager.java"
22229 +.implements Landroid/accounts/AccountManagerFuture;
22233 +.annotation system Ldalvik/annotation/EnclosingClass;
22234 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
22237 +.annotation system Ldalvik/annotation/InnerClass;
22238 + accessFlags = 0x2
22239 + name = "PrivacyAccountManagerFuture"
22242 +.annotation system Ldalvik/annotation/Signature;
22245 + "Ljava/lang/Object;",
22247 + "Ljava/lang/Object;",
22248 + "Landroid/accounts/AccountManagerFuture",
22255 +.field private result:Ljava/lang/Object;
22256 + .annotation system Ldalvik/annotation/Signature;
22263 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
22267 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22269 + .annotation system Ldalvik/annotation/Signature;
22275 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
22277 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
22279 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
22286 +.method public cancel(Z)Z
22294 +.method public getResult()Ljava/lang/Object;
22296 + .annotation system Ldalvik/annotation/Signature;
22302 + .annotation system Ldalvik/annotation/Throws;
22304 + Landroid/accounts/OperationCanceledException;,
22305 + Ljava/io/IOException;,
22306 + Landroid/accounts/AuthenticatorException;
22310 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
22315 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
22317 + .annotation system Ldalvik/annotation/Signature;
22320 + "Ljava/util/concurrent/TimeUnit;",
22325 + .annotation system Ldalvik/annotation/Throws;
22327 + Landroid/accounts/OperationCanceledException;,
22328 + Ljava/io/IOException;,
22329 + Landroid/accounts/AuthenticatorException;
22333 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
22338 +.method public isCancelled()Z
22346 +.method public isDone()Z
22353 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
22354 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
22355 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2013-08-15 23:20:07.956304776 -0500
22357 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
22358 +.super Landroid/accounts/AccountManager;
22359 +.source "PrivacyAccountManager.java"
22363 +.annotation system Ldalvik/annotation/MemberClasses;
22365 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22371 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
22375 +.field private context:Landroid/content/Context;
22377 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
22381 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
22384 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
22386 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22388 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
22390 + const-string/jumbo v1, "privacy"
22392 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
22394 + move-result-object v1
22396 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
22398 + move-result-object v1
22400 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
22402 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22407 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
22410 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
22412 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22414 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
22416 + const-string/jumbo v1, "privacy"
22418 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
22420 + move-result-object v1
22422 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
22424 + move-result-object v1
22426 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
22428 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22435 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
22437 + .annotation system Ldalvik/annotation/Throws;
22439 + Landroid/accounts/OperationCanceledException;,
22440 + Ljava/io/IOException;,
22441 + Landroid/accounts/AuthenticatorException;
22447 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22449 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22451 + move-result-object v1
22453 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22457 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22459 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22461 + move-result-object v6
22463 + if-eqz v6, :cond_23
22465 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22469 + if-eqz v0, :cond_23
22473 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22477 + const-string v4, "authTokens"
22479 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22485 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
22487 + move-result-object v7
22489 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22493 + const-string v4, "authTokens"
22495 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22500 +.method public getAccounts()[Landroid/accounts/Account;
22507 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22509 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22511 + move-result-object v1
22513 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22517 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22519 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22521 + move-result-object v6
22523 + if-eqz v6, :cond_27
22525 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22529 + if-eqz v0, :cond_27
22531 + const-string v8, "[empty accounts list]"
22533 + new-array v7, v3, [Landroid/accounts/Account;
22535 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22539 + const-string v4, "accountsList"
22541 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22547 + const-string v8, "[real value]"
22549 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
22551 + move-result-object v7
22553 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22555 + const-string v4, "accountsList"
22557 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22562 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
22569 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22571 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22573 + move-result-object v1
22575 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22579 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22581 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22583 + move-result-object v6
22585 + if-eqz v6, :cond_27
22587 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22591 + if-eqz v0, :cond_27
22593 + const-string v8, "[empty accounts list]"
22595 + new-array v7, v3, [Landroid/accounts/Account;
22597 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22601 + const-string v4, "accountsList"
22603 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22609 + const-string v8, "[real value]"
22611 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
22613 + move-result-object v7
22615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22617 + const-string v4, "accountsList"
22619 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22624 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22626 + .annotation system Ldalvik/annotation/Signature;
22629 + "Ljava/lang/String;",
22631 + "Ljava/lang/String;",
22632 + "Landroid/accounts/AccountManagerCallback",
22634 + "Landroid/accounts/Account;",
22636 + "Landroid/os/Handler;",
22638 + "Landroid/accounts/AccountManagerFuture",
22640 + "Landroid/accounts/Account;",
22649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22651 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22653 + move-result-object v1
22655 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22659 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22661 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22663 + move-result-object v6
22665 + if-eqz v6, :cond_2c
22667 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22671 + if-eqz v0, :cond_2c
22673 + const-string v8, "[false]"
22675 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22677 + new-array v0, v3, [Landroid/accounts/Account;
22679 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22681 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22685 + const-string v4, "accountsList"
22687 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22693 + const-string v8, "[real value]"
22695 + 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;
22697 + move-result-object v7
22699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22701 + const-string v4, "accountsList"
22703 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22708 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22710 + .annotation system Ldalvik/annotation/Signature;
22713 + "Landroid/accounts/Account;",
22714 + "Ljava/lang/String;",
22715 + "Landroid/os/Bundle;",
22716 + "Landroid/app/Activity;",
22717 + "Landroid/accounts/AccountManagerCallback",
22719 + "Landroid/os/Bundle;",
22721 + "Landroid/os/Handler;",
22723 + "Landroid/accounts/AccountManagerFuture",
22725 + "Landroid/os/Bundle;",
22732 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22734 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22736 + move-result-object v1
22738 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22742 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22744 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22746 + move-result-object v6
22748 + if-eqz v6, :cond_2e
22750 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22754 + if-eqz v0, :cond_2e
22756 + const-string v8, "[empty]"
22758 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22760 + new-instance v0, Landroid/os/Bundle;
22762 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22764 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22766 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22770 + const-string v4, "authTokens"
22772 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22778 + const-string v8, "[real value]"
22780 + 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;
22782 + move-result-object v7
22784 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22788 + const-string v4, "authTokens"
22790 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22795 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22797 + .annotation system Ldalvik/annotation/Signature;
22800 + "Landroid/accounts/Account;",
22801 + "Ljava/lang/String;",
22803 + "Landroid/accounts/AccountManagerCallback",
22805 + "Landroid/os/Bundle;",
22807 + "Landroid/os/Handler;",
22809 + "Landroid/accounts/AccountManagerFuture",
22811 + "Landroid/os/Bundle;",
22818 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22820 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22822 + move-result-object v1
22824 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22830 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22832 + move-result-object v6
22834 + if-eqz v6, :cond_2e
22836 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22840 + if-eqz v0, :cond_2e
22842 + const-string v8, "[empty]"
22844 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22846 + new-instance v0, Landroid/os/Bundle;
22848 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22850 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22856 + const-string v4, "authTokens"
22858 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22864 + const-string v8, "[real value]"
22866 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22868 + move-result-object v7
22870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22874 + const-string v4, "authTokens"
22876 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22881 +.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;
22883 + .annotation system Ldalvik/annotation/Signature;
22886 + "Ljava/lang/String;",
22887 + "Ljava/lang/String;",
22889 + "Ljava/lang/String;",
22890 + "Landroid/app/Activity;",
22891 + "Landroid/os/Bundle;",
22892 + "Landroid/os/Bundle;",
22893 + "Landroid/accounts/AccountManagerCallback",
22895 + "Landroid/os/Bundle;",
22897 + "Landroid/os/Handler;",
22899 + "Landroid/accounts/AccountManagerFuture",
22901 + "Landroid/os/Bundle;",
22906 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22908 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22910 + move-result-object v1
22912 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22916 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22918 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22920 + move-result-object v6
22922 + if-eqz v6, :cond_2e
22924 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22928 + if-eqz v0, :cond_2e
22930 + const-string v8, "[empty]"
22932 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22934 + new-instance v0, Landroid/os/Bundle;
22936 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22938 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22944 + const-string v4, "authTokens"
22948 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22954 + const-string v8, "[real value]"
22956 + 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;
22958 + move-result-object v7
22960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22964 + const-string v4, "authTokens"
22968 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22973 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22975 + .annotation system Ldalvik/annotation/Signature;
22978 + "Landroid/accounts/Account;",
22980 + "Ljava/lang/String;",
22981 + "Landroid/accounts/AccountManagerCallback",
22983 + "Ljava/lang/Boolean;",
22985 + "Landroid/os/Handler;",
22987 + "Landroid/accounts/AccountManagerFuture",
22989 + "Ljava/lang/Boolean;",
22998 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
23000 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23002 + move-result-object v1
23004 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23008 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23010 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23012 + move-result-object v6
23014 + if-eqz v6, :cond_2e
23016 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
23020 + if-eqz v0, :cond_2e
23022 + const-string v8, "[false]"
23024 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
23026 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
23028 + move-result-object v0
23030 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
23032 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23036 + const-string v4, "accountsList"
23038 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23044 + const-string v8, "[real value]"
23046 + 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;
23048 + move-result-object v7
23050 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23052 + const-string v4, "accountsList"
23054 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23058 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
23059 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
23060 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2013-08-15 23:20:07.956304776 -0500
23062 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
23063 +.super Ljava/lang/Object;
23064 +.source "PrivacyActivityManagerService.java"
23068 +.field private static final DATA_SMS_RECEIVED_INTENT:Ljava/lang/String; = "android.intent.action.DATA_SMS_RECEIVED"
23070 +.field private static final SMS_RECEIVED_ACTION_INTENT:Ljava/lang/String; = "android.provider.Telephony.SMS_RECEIVED"
23072 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
23074 +.field private static final WAP_PUSH_RECEIVED_INTENT:Ljava/lang/String; = "android.provider.Telephony.WAP_PUSH_RECEIVED"
23076 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
23078 +.field private static tmpIn:Landroid/content/Intent;
23080 +.field private static tmpInHash:J
23082 +.field private static tmpInReceivers:I
23084 +.field private static tmpMms:Landroid/content/Intent;
23086 +.field private static tmpMmsHash:J
23088 +.field private static tmpMmsReceivers:I
23090 +.field private static tmpOut:Landroid/content/Intent;
23092 +.field private static tmpOutHash:J
23094 +.field private static tmpOutReceivers:I
23096 +.field private static tmpPackageAddedHash:J
23098 +.field private static tmpSms:Landroid/content/Intent;
23100 +.field private static tmpSmsHash:J
23102 +.field private static tmpSmsReceivers:I
23106 +.method static constructor <clinit>()V
23111 + const-wide/16 v0, 0x0
23113 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
23115 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
23117 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
23119 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
23121 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23123 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23125 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23127 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23129 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23134 +.method public constructor <init>()V
23137 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
23142 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
23145 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23147 + if-nez v2, :cond_13
23149 + if-eqz p3, :cond_13
23151 + const-string/jumbo v2, "privacy"
23153 + move-object/from16 v0, p3
23155 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
23157 + move-result-object v2
23159 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
23161 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23164 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23166 + if-nez v2, :cond_2c
23168 + if-nez p3, :cond_2c
23170 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
23174 + const-string/jumbo v4, "privacy"
23176 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
23178 + move-result-object v4
23180 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
23182 + move-result-object v4
23184 + invoke-direct {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
23186 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23189 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
23191 + move-result-object v16
23193 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
23195 + move-object/from16 v0, v16
23197 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23201 + if-eqz v2, :cond_cc
23203 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23205 + move-object/from16 v0, p0
23207 + move/from16 v1, p1
23209 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23211 + move-result-object v8
23213 + const-string v2, "android.intent.extra.PHONE_NUMBER"
23215 + move-object/from16 v0, p2
23217 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
23219 + move-result-object v23
23221 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
23223 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23225 + move-result-wide v4
23227 + cmp-long v2, v2, v4
23229 + if-eqz v2, :cond_66
23231 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23233 + move-result-object v2
23235 + check-cast v2, Landroid/content/Intent;
23237 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
23239 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23241 + move-result-wide v2
23243 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
23245 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
23248 + if-eqz v8, :cond_93
23251 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
23255 + if-eqz v2, :cond_93
23257 + const-string v23, ""
23259 + const-string v2, "android.intent.extra.PHONE_NUMBER"
23261 + move-object/from16 v0, p2
23263 + move-object/from16 v1, v23
23265 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
23267 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23271 + const-string/jumbo v6, "outgoingCall"
23275 + move-object/from16 v3, p0
23277 + move/from16 v4, p1
23279 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23281 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_87} :catch_bd
23285 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
23289 + if-le v2, v3, :cond_c8
23291 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
23293 + add-int/lit8 v2, v2, -0x1
23295 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
23303 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
23305 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23307 + move-result-wide v4
23309 + cmp-long v2, v2, v4
23311 + if-nez v2, :cond_87
23313 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
23315 + const-string v3, "android.intent.extra.PHONE_NUMBER"
23317 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
23319 + move-result-object v23
23321 + const-string v2, "android.intent.extra.PHONE_NUMBER"
23323 + move-object/from16 v0, p2
23325 + move-object/from16 v1, v23
23327 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
23329 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23333 + const-string/jumbo v6, "outgoingCall"
23337 + move-object/from16 v3, p0
23339 + move/from16 v4, p1
23341 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23343 + .catch Ljava/lang/Exception; {:try_start_93 .. :try_end_bc} :catch_bd
23348 + move-exception v20
23350 + const-string v2, "PrivacyActivityManagerService"
23352 + const-string v3, "failed to enforce intent broadcast permission"
23354 + move-object/from16 v0, v20
23356 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23363 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
23368 + const-string v2, "android.intent.action.PHONE_STATE"
23370 + move-object/from16 v0, v16
23372 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23376 + if-eqz v2, :cond_170
23378 + const-string v2, "incoming_number"
23380 + move-object/from16 v0, p2
23382 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
23384 + move-result-object v23
23386 + if-eqz v23, :cond_92
23388 + invoke-virtual/range {v23 .. v23}, Ljava/lang/String;->isEmpty()Z
23392 + if-nez v2, :cond_92
23394 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23396 + move-object/from16 v0, p0
23398 + move/from16 v1, p1
23400 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23402 + move-result-object v8
23404 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
23406 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23408 + move-result-wide v4
23410 + cmp-long v2, v2, v4
23412 + if-eqz v2, :cond_10a
23414 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23416 + move-result-object v2
23418 + check-cast v2, Landroid/content/Intent;
23420 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
23422 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23424 + move-result-wide v2
23426 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
23428 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
23431 + if-eqz v8, :cond_137
23434 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
23438 + if-eqz v2, :cond_137
23440 + const-string v23, ""
23442 + const-string v2, "incoming_number"
23444 + move-object/from16 v0, p2
23446 + move-object/from16 v1, v23
23448 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
23450 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23454 + const-string v6, "incomingCall"
23458 + move-object/from16 v3, p0
23460 + move/from16 v4, p1
23462 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23464 + .catch Ljava/lang/Exception; {:try_start_10c .. :try_end_12a} :catch_160
23468 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
23472 + if-le v2, v3, :cond_16b
23474 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
23476 + add-int/lit8 v2, v2, -0x1
23478 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
23484 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
23486 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23488 + move-result-wide v4
23490 + cmp-long v2, v2, v4
23492 + if-nez v2, :cond_12a
23494 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
23496 + const-string v3, "incoming_number"
23498 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
23500 + move-result-object v23
23502 + const-string v2, "incoming_number"
23504 + move-object/from16 v0, p2
23506 + move-object/from16 v1, v23
23508 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
23510 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23514 + const-string v6, "incomingCall"
23518 + move-object/from16 v3, p0
23520 + move/from16 v4, p1
23522 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23524 + .catch Ljava/lang/Exception; {:try_start_137 .. :try_end_15f} :catch_160
23529 + move-exception v20
23531 + const-string v2, "PrivacyActivityManagerService"
23533 + const-string v3, "failed to enforce intent broadcast permission"
23535 + move-object/from16 v0, v20
23537 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23544 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
23549 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
23551 + move-object/from16 v0, v16
23553 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23557 + if-eqz v2, :cond_253
23559 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23561 + move-object/from16 v0, p0
23563 + move/from16 v1, p1
23565 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23567 + move-result-object v8
23569 + const-string v23, "[real]"
23571 + const-string/jumbo v2, "pdus"
23573 + move-object/from16 v0, p2
23575 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23577 + move-result-object v2
23579 + check-cast v2, [Ljava/lang/Object;
23581 + move-object/from16 v22, v2
23583 + check-cast v22, [Ljava/lang/Object;
23585 + if-eqz v22, :cond_1f8
23589 + aget-object v2, v22, v2
23591 + check-cast v2, [B
23593 + check-cast v2, [B
23595 + move-object/from16 v19, v2
23598 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23600 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23602 + move-result-wide v4
23604 + cmp-long v2, v2, v4
23606 + if-eqz v2, :cond_1ba
23608 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23610 + move-result-object v2
23612 + check-cast v2, Landroid/content/Intent;
23614 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23616 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23618 + move-result-wide v2
23620 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23622 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23625 + if-eqz v8, :cond_1fb
23628 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
23632 + if-eqz v2, :cond_1fb
23634 + const-string v23, "[empty]"
23638 + new-array v0, v2, [Ljava/lang/Object;
23640 + move-object/from16 v21, v0
23644 + const/16 v3, 0x10
23646 + new-array v3, v3, [B
23648 + fill-array-data v3, :array_3da
23650 + aput-object v3, v21, v2
23652 + const-string/jumbo v2, "pdus"
23654 + move-object/from16 v0, p2
23656 + move-object/from16 v1, v21
23658 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23660 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23664 + const-string/jumbo v6, "sms"
23668 + move-object/from16 v3, p0
23670 + move/from16 v4, p1
23672 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23674 + .catch Ljava/lang/Exception; {:try_start_1bc .. :try_end_1eb} :catch_240
23678 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23682 + if-le v2, v3, :cond_24e
23684 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23686 + add-int/lit8 v2, v2, -0x1
23688 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23693 + const/16 v19, 0x0
23699 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23701 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23703 + move-result-wide v4
23705 + cmp-long v2, v2, v4
23707 + if-nez v2, :cond_1eb
23709 + const-string/jumbo v2, "pdus"
23711 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23713 + const-string/jumbo v4, "pdus"
23715 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23717 + move-result-object v3
23719 + move-object/from16 v0, p2
23721 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23723 + const-string/jumbo v2, "pdus"
23725 + move-object/from16 v0, p2
23727 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23729 + move-result-object v2
23731 + check-cast v2, [Ljava/lang/Object;
23733 + move-object v0, v2
23735 + check-cast v0, [Ljava/lang/Object;
23737 + move-object/from16 v22, v0
23739 + if-eqz v22, :cond_24b
23743 + aget-object v2, v22, v2
23745 + check-cast v2, [B
23747 + check-cast v2, [B
23749 + move-object/from16 v19, v2
23752 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23756 + const-string/jumbo v6, "sms"
23760 + move-object/from16 v3, p0
23762 + move/from16 v4, p1
23764 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23766 + .catch Ljava/lang/Exception; {:try_start_1fb .. :try_end_23f} :catch_240
23771 + move-exception v20
23773 + const-string v2, "PrivacyActivityManagerService"
23775 + const-string v3, "failed to enforce intent broadcast permission"
23777 + move-object/from16 v0, v20
23779 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23784 + const/16 v19, 0x0
23791 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23796 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
23798 + move-object/from16 v0, v16
23800 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23804 + if-nez v2, :cond_267
23806 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
23808 + move-object/from16 v0, v16
23810 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23814 + if-eqz v2, :cond_340
23817 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23819 + move-object/from16 v0, p0
23821 + move/from16 v1, p1
23823 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23825 + move-result-object v8
23827 + const-string v23, "[real]"
23829 + const-string/jumbo v2, "pdus"
23831 + move-object/from16 v0, p2
23833 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23835 + move-result-object v2
23837 + check-cast v2, [Ljava/lang/Object;
23839 + move-object/from16 v22, v2
23841 + check-cast v22, [Ljava/lang/Object;
23843 + if-eqz v22, :cond_2e5
23847 + aget-object v2, v22, v2
23849 + check-cast v2, [B
23851 + check-cast v2, [B
23853 + move-object/from16 v19, v2
23856 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23858 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23860 + move-result-wide v4
23862 + cmp-long v2, v2, v4
23864 + if-eqz v2, :cond_2a7
23866 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23868 + move-result-object v2
23870 + check-cast v2, Landroid/content/Intent;
23872 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23874 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23876 + move-result-wide v2
23878 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23880 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23883 + if-eqz v8, :cond_2e8
23886 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
23890 + if-eqz v2, :cond_2e8
23892 + const-string v23, "[empty]"
23896 + new-array v0, v2, [Ljava/lang/Object;
23898 + move-object/from16 v21, v0
23902 + const/16 v3, 0x10
23904 + new-array v3, v3, [B
23906 + fill-array-data v3, :array_3e6
23908 + aput-object v3, v21, v2
23910 + const-string/jumbo v2, "pdus"
23912 + move-object/from16 v0, p2
23914 + move-object/from16 v1, v21
23916 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23918 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23922 + const-string/jumbo v6, "mms"
23926 + move-object/from16 v3, p0
23928 + move/from16 v4, p1
23930 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23932 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2d8} :catch_32d
23936 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23940 + if-le v2, v3, :cond_33b
23942 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23944 + add-int/lit8 v2, v2, -0x1
23946 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23951 + const/16 v19, 0x0
23957 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23959 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23961 + move-result-wide v4
23963 + cmp-long v2, v2, v4
23965 + if-nez v2, :cond_2d8
23967 + const-string/jumbo v2, "pdus"
23969 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23971 + const-string/jumbo v4, "pdus"
23973 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23975 + move-result-object v3
23977 + move-object/from16 v0, p2
23979 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23981 + const-string/jumbo v2, "pdus"
23983 + move-object/from16 v0, p2
23985 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23987 + move-result-object v2
23989 + check-cast v2, [Ljava/lang/Object;
23991 + move-object v0, v2
23993 + check-cast v0, [Ljava/lang/Object;
23995 + move-object/from16 v22, v0
23997 + if-eqz v22, :cond_338
24001 + aget-object v2, v22, v2
24003 + check-cast v2, [B
24005 + check-cast v2, [B
24007 + move-object/from16 v19, v2
24010 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24014 + const-string/jumbo v6, "mms"
24018 + move-object/from16 v3, p0
24020 + move/from16 v4, p1
24022 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24024 + .catch Ljava/lang/Exception; {:try_start_2e8 .. :try_end_32c} :catch_32d
24029 + move-exception v20
24031 + const-string v2, "PrivacyActivityManagerService"
24033 + const-string v3, "failed to enforce intent broadcast permission"
24035 + move-object/from16 v0, v20
24037 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
24042 + const/16 v19, 0x0
24049 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
24054 + const-string v2, "android.intent.action.BOOT_COMPLETED"
24056 + move-object/from16 v0, v16
24058 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24062 + if-eqz v2, :cond_38d
24064 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24066 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
24068 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24070 + move-object/from16 v0, p0
24072 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
24074 + move-result-object v8
24076 + if-eqz v8, :cond_376
24078 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
24082 + if-eqz v2, :cond_376
24084 + const-string v2, "catchBootComplete"
24086 + move-object/from16 v0, p2
24088 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
24090 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24094 + const-string v13, "intentBootCompleted"
24100 + move-object/from16 v10, p0
24102 + move/from16 v11, p1
24104 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24109 + const-string v2, "android.intent.action.BOOT_COMPLETED"
24111 + move-object/from16 v0, p2
24113 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
24115 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24119 + const-string v13, "intentBootCompleted"
24125 + move-object/from16 v10, p0
24127 + move/from16 v11, p1
24129 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24134 + const-string v2, "android.intent.action.PACKAGE_ADDED"
24136 + move-object/from16 v0, v16
24138 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24142 + if-eqz v2, :cond_92
24144 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
24146 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
24148 + move-result-wide v4
24150 + cmp-long v2, v2, v4
24152 + if-eqz v2, :cond_92
24154 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
24156 + move-result-wide v2
24158 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
24160 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
24162 + move-result-object v2
24164 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
24166 + move-result-object v17
24168 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
24170 + move-result-object v2
24172 + const-string v3, "android.intent.extra.UID"
24174 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
24178 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24180 + move-object/from16 v0, v17
24182 + move/from16 v1, v18
24184 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24186 + move-result-object v8
24188 + if-eqz v8, :cond_92
24190 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
24194 + move/from16 v0, v18
24196 + if-eq v2, v0, :cond_92
24198 + move/from16 v0, v18
24200 + invoke-virtual {v8, v0}, Landroid/privacy/PrivacySettings;->setUid(I)V
24202 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24204 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
24251 +.method private static hashCode(Landroid/content/Intent;)J
24254 + const-wide/16 v3, 0x0
24256 + const-string/jumbo v2, "privacy_hash"
24258 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
24260 + move-result-wide v0
24262 + cmp-long v2, v0, v3
24264 + if-nez v2, :cond_1e
24266 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
24270 + int-to-long v2, v2
24272 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
24274 + move-result-wide v4
24276 + add-long v0, v2, v4
24278 + const-string/jumbo v2, "privacy_hash"
24280 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
24285 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali
24286 --- stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 1969-12-31 18:00:00.000000000 -0600
24287 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 2013-08-15 23:20:07.956304776 -0500
24289 +.class public Landroid/privacy/surrogate/PrivacyConnectivityManager;
24290 +.super Landroid/net/ConnectivityManager;
24291 +.source "PrivacyConnectivityManager.java"
24295 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyConnectivityManager"
24299 +.field private context:Landroid/content/Context;
24301 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
24305 +.method public constructor <init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
24308 + invoke-direct {p0, p1}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
24310 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24312 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
24314 + const-string/jumbo v1, "privacy"
24316 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
24318 + move-result-object v1
24320 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
24322 + move-result-object v1
24324 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
24326 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24328 + const-string v0, "PrivacyConnectivityManager"
24330 + new-instance v1, Ljava/lang/StringBuilder;
24332 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24334 + const-string/jumbo v2, "now in constructor for package: "
24336 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24338 + move-result-object v1
24340 + invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24342 + move-result-object v2
24344 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24346 + move-result-object v1
24348 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24350 + move-result-object v1
24352 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24359 +.method public getActiveLinkProperties()Landroid/net/LinkProperties;
24366 + new-instance v7, Landroid/net/LinkProperties;
24368 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
24370 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24372 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24374 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24376 + move-result-object v1
24378 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24382 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24384 + move-result-object v8
24386 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24388 + if-eqz v0, :cond_34
24390 + if-eqz v8, :cond_34
24392 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24396 + if-eqz v0, :cond_34
24398 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24400 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24402 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24404 + move-result-object v1
24408 + const-string/jumbo v4, "networkInfoCurrent"
24410 + move-object v6, v5
24412 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24420 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24422 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24424 + move-result-object v1
24428 + const-string/jumbo v4, "networkInfoCurrent"
24430 + move-object v6, v5
24432 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24434 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
24436 + move-result-object v7
24441 +.method public getActiveNetworkInfo()Landroid/net/NetworkInfo;
24452 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24454 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24456 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24458 + move-result-object v1
24460 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24464 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24466 + move-result-object v8
24468 + new-instance v7, Landroid/net/NetworkInfo;
24470 + const-string v0, "MOBILE"
24472 + const-string v1, "UNKNOWN"
24474 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24476 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24478 + if-eqz v0, :cond_31
24480 + if-eqz v8, :cond_31
24482 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24486 + if-nez v0, :cond_31
24488 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24490 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24492 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24495 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24497 + if-eqz v0, :cond_4d
24499 + if-eqz v8, :cond_4d
24501 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24505 + if-eqz v0, :cond_4d
24507 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24509 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24511 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24513 + move-result-object v1
24515 + const-string/jumbo v4, "networkInfoCurrent"
24517 + move-object v6, v5
24519 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24525 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24527 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24529 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24531 + move-result-object v1
24533 + const-string/jumbo v4, "networkInfoCurrent"
24537 + move-object v6, v5
24539 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24541 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
24543 + move-result-object v7
24548 +.method public getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
24559 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24561 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24563 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24565 + move-result-object v1
24567 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24571 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24573 + move-result-object v8
24575 + new-instance v7, Landroid/net/NetworkInfo;
24577 + const-string v0, "MOBILE"
24579 + const-string v1, "UNKNOWN"
24581 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24583 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24585 + if-eqz v0, :cond_31
24587 + if-eqz v8, :cond_31
24589 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24593 + if-nez v0, :cond_31
24595 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24597 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24599 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24602 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24604 + if-eqz v0, :cond_4d
24606 + if-eqz v8, :cond_4d
24608 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24612 + if-eqz v0, :cond_4d
24614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24616 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24618 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24620 + move-result-object v1
24622 + const-string/jumbo v4, "networkInfoCurrent"
24624 + move-object v6, v5
24626 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24632 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24634 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24636 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24638 + move-result-object v1
24640 + const-string/jumbo v4, "networkInfoCurrent"
24644 + move-object v6, v5
24646 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24648 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
24650 + move-result-object v7
24655 +.method public getAllNetworkInfo()[Landroid/net/NetworkInfo;
24666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24668 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24670 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24672 + move-result-object v1
24674 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24678 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24680 + move-result-object v8
24682 + new-array v7, v3, [Landroid/net/NetworkInfo;
24684 + new-instance v0, Landroid/net/NetworkInfo;
24686 + const-string v1, "MOBILE"
24688 + const-string v4, "CONNECTED"
24690 + invoke-direct {v0, v6, v6, v1, v4}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24692 + aput-object v0, v7, v6
24694 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24696 + if-eqz v0, :cond_39
24698 + if-eqz v8, :cond_39
24700 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24704 + if-nez v0, :cond_39
24706 + aget-object v0, v7, v6
24708 + invoke-virtual {v0, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24710 + aget-object v0, v7, v6
24712 + sget-object v1, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24714 + invoke-virtual {v0, v1}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24717 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24719 + if-eqz v0, :cond_55
24721 + if-eqz v8, :cond_55
24723 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24727 + if-eqz v0, :cond_55
24729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24731 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24733 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24735 + move-result-object v1
24737 + const-string/jumbo v4, "networkInfoCurrent"
24739 + move-object v6, v5
24741 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24749 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24751 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24753 + move-result-object v1
24755 + const-string/jumbo v4, "networkInfoCurrent"
24759 + move-object v6, v5
24761 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24763 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
24765 + move-result-object v7
24770 +.method public getLinkProperties(I)Landroid/net/LinkProperties;
24777 + new-instance v7, Landroid/net/LinkProperties;
24779 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
24781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24783 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24785 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24787 + move-result-object v1
24789 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24793 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24795 + move-result-object v8
24797 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24799 + if-eqz v0, :cond_34
24801 + if-eqz v8, :cond_34
24803 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24807 + if-eqz v0, :cond_34
24809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24811 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24813 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24815 + move-result-object v1
24819 + const-string/jumbo v4, "networkInfoCurrent"
24821 + move-object v6, v5
24823 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24831 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24833 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24835 + move-result-object v1
24839 + const-string/jumbo v4, "networkInfoCurrent"
24841 + move-object v6, v5
24843 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24845 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties;
24847 + move-result-object v7
24852 +.method public getMobileDataEnabled()Z
24861 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24863 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24865 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24867 + move-result-object v1
24869 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24873 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24875 + move-result-object v7
24877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24879 + if-eqz v0, :cond_2f
24881 + if-eqz v7, :cond_2f
24883 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24887 + if-nez v0, :cond_2f
24889 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24891 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24893 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24895 + move-result-object v1
24897 + const-string/jumbo v4, "networkInfoCurrent"
24899 + move-object v6, v5
24901 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24909 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24911 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24913 + move-result-object v1
24917 + const-string/jumbo v4, "networkInfoCurrent"
24919 + move-object v6, v5
24921 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24923 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z
24930 +.method public getNetworkInfo(I)Landroid/net/NetworkInfo;
24941 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24943 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24945 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24947 + move-result-object v1
24949 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24953 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24955 + move-result-object v8
24957 + new-instance v7, Landroid/net/NetworkInfo;
24959 + const-string v0, "MOBILE"
24961 + const-string v1, "CONNECTED"
24963 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24965 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24967 + if-eqz v0, :cond_31
24969 + if-eqz v8, :cond_31
24971 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24975 + if-nez v0, :cond_31
24977 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24979 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24981 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24986 + if-eqz v0, :cond_4d
24988 + if-eqz v8, :cond_4d
24990 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24994 + if-eqz v0, :cond_4d
24996 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24998 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25000 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25002 + move-result-object v1
25004 + const-string/jumbo v4, "networkInfoCurrent"
25006 + move-object v6, v5
25008 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25014 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25016 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25018 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25020 + move-result-object v1
25022 + const-string/jumbo v4, "networkInfoCurrent"
25026 + move-object v6, v5
25028 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25030 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
25032 + move-result-object v7
25037 +.method public requestRouteToHost(II)Z
25048 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25050 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25052 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25054 + move-result-object v1
25056 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25060 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25062 + move-result-object v7
25064 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25066 + if-eqz v0, :cond_30
25068 + if-eqz v7, :cond_30
25070 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25074 + if-nez v0, :cond_30
25076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25078 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25080 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25082 + move-result-object v1
25084 + const-string/jumbo v4, "networkInfoCurrent"
25086 + move-object v6, v5
25088 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25094 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25096 + if-eqz v0, :cond_4d
25098 + if-eqz v7, :cond_4d
25100 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25104 + if-eqz v0, :cond_4d
25106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25108 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25110 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25112 + move-result-object v1
25114 + const-string/jumbo v4, "networkInfoCurrent"
25116 + move-object v6, v5
25118 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25125 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25127 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25129 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25131 + move-result-object v1
25133 + const-string/jumbo v4, "networkInfoCurrent"
25137 + move-object v6, v5
25139 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25141 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHost(II)Z
25148 +.method public requestRouteToHostAddress(ILjava/net/InetAddress;)Z
25159 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25161 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25163 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25165 + move-result-object v1
25167 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25171 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25173 + move-result-object v7
25175 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25177 + if-eqz v0, :cond_30
25179 + if-eqz v7, :cond_30
25181 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25185 + if-nez v0, :cond_30
25187 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25189 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25191 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25193 + move-result-object v1
25195 + const-string/jumbo v4, "networkInfoCurrent"
25197 + move-object v6, v5
25199 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25205 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25207 + if-eqz v0, :cond_4d
25209 + if-eqz v7, :cond_4d
25211 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25215 + if-eqz v0, :cond_4d
25217 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25219 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25221 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25223 + move-result-object v1
25225 + const-string/jumbo v4, "networkInfoCurrent"
25227 + move-object v6, v5
25229 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25238 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25240 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25242 + move-result-object v1
25244 + const-string/jumbo v4, "networkInfoCurrent"
25248 + move-object v6, v5
25250 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25252 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
25259 +.method public setMobileDataEnabled(Z)V
25266 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25268 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25270 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25272 + move-result-object v1
25274 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25278 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25280 + move-result-object v7
25282 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25284 + if-eqz v0, :cond_2f
25286 + if-eqz v7, :cond_2f
25288 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
25292 + if-eqz v0, :cond_2f
25294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25296 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25298 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25300 + move-result-object v1
25304 + const-string/jumbo v4, "switchconnectivity"
25306 + move-object v6, v5
25308 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25316 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25318 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25320 + move-result-object v1
25324 + const-string/jumbo v4, "switchconnectivity"
25326 + move-object v6, v5
25328 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25330 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V
25334 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
25335 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
25336 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2013-08-15 23:20:07.960304776 -0500
25338 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
25339 +.super Ljava/lang/Object;
25340 +.source "PrivacyContentResolver.java"
25344 +.field private static final MMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms"
25346 +.field private static final MMS_SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms-sms"
25348 +.field private static final SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "sms"
25350 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
25352 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
25356 +.method public constructor <init>()V
25359 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25364 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
25367 + new-instance v4, Ljava/lang/StringBuffer;
25369 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
25371 + if-eqz p0, :cond_2d
25373 + move-object v0, p0
25375 + array-length v3, v0
25380 + if-ge v2, v3, :cond_30
25382 + aget-object v1, v0, v2
25384 + new-instance v5, Ljava/lang/StringBuilder;
25386 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
25388 + const-string v6, "["
25390 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25392 + move-result-object v5
25394 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25396 + move-result-object v5
25398 + const-string v6, "]"
25400 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25402 + move-result-object v5
25404 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25406 + move-result-object v5
25408 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
25410 + add-int/lit8 v2, v2, 0x1
25415 + const-string v5, ""
25421 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
25423 + move-result-object v5
25428 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
25430 + .annotation system Ldalvik/annotation/Throws;
25432 + Landroid/os/RemoteException;
25436 + if-eqz p0, :cond_1db
25438 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25440 + if-nez v1, :cond_13
25442 + const-string/jumbo v1, "privacy"
25444 + move-object/from16 v0, p2
25446 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
25448 + move-result-object v1
25450 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
25452 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25455 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25457 + move-result-object v2
25459 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25463 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25465 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25467 + move-result-object v7
25469 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25471 + move-result-object v9
25473 + const-string v15, "[real]"
25475 + move-object/from16 v13, p3
25477 + if-eqz v9, :cond_54
25479 + const-string v1, "contacts"
25481 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25485 + if-nez v1, :cond_3b
25487 + const-string v1, "com.android.contacts"
25489 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25493 + if-eqz v1, :cond_ab
25496 + if-eqz v7, :cond_54
25498 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
25504 + if-ne v1, v4, :cond_55
25506 + const-string v15, "[empty]"
25508 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25510 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25512 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25516 + const-string v5, "contacts"
25520 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25524 + return-object v13
25527 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
25533 + if-ne v1, v4, :cond_a1
25535 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
25537 + move-result-object v1
25539 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
25541 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
25543 + move-result-object v4
25545 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
25549 + if-eqz v1, :cond_a1
25553 + if-eqz p1, :cond_82
25555 + move-object/from16 v8, p1
25557 + array-length v12, v8
25562 + if-ge v10, v12, :cond_82
25564 + aget-object v16, v8, v10
25566 + const-string v1, "_id"
25568 + move-object/from16 v0, v16
25570 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25574 + if-eqz v1, :cond_93
25579 + if-nez v11, :cond_96
25581 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25583 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25586 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25590 + const-string v5, "contacts"
25594 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25599 + add-int/lit8 v10, v10, 0x1
25604 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
25606 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
25608 + move-result-object v1
25610 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
25612 + move-object v13, v14
25617 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25621 + const-string v5, "contacts"
25625 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25630 + const-string v1, "com.android.calendar"
25632 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25636 + if-eqz v1, :cond_d8
25638 + if-eqz v7, :cond_cd
25640 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
25646 + if-ne v1, v4, :cond_cd
25648 + const-string v15, "[empty]"
25650 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25652 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25654 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25658 + const-string v5, "calendar"
25662 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25667 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25671 + const-string v5, "calendar"
25675 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25680 + const-string/jumbo v1, "mms"
25682 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25686 + if-eqz v1, :cond_109
25688 + if-eqz v7, :cond_fd
25690 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25696 + if-ne v1, v4, :cond_fd
25698 + const-string v15, "[empty]"
25700 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25702 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25704 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25708 + const-string/jumbo v5, "mms"
25712 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25717 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25721 + const-string/jumbo v5, "mms"
25725 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25730 + const-string/jumbo v1, "sms"
25732 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25736 + if-eqz v1, :cond_13a
25738 + if-eqz v7, :cond_12e
25740 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25746 + if-ne v1, v4, :cond_12e
25748 + const-string v15, "[empty]"
25750 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25752 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25754 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25758 + const-string/jumbo v5, "sms"
25762 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25767 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25771 + const-string/jumbo v5, "sms"
25775 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25780 + const-string/jumbo v1, "mms-sms"
25782 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25786 + if-nez v1, :cond_14c
25788 + const-string/jumbo v1, "mms-sms-v2"
25790 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25794 + if-eqz v1, :cond_17b
25797 + if-eqz v7, :cond_16f
25799 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25805 + if-eq v1, v4, :cond_15c
25807 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25813 + if-ne v1, v4, :cond_16f
25816 + const-string v15, "[empty]"
25818 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25820 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25822 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25826 + const-string/jumbo v5, "mmsSms"
25830 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25835 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25839 + const-string/jumbo v5, "mmsSms"
25843 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25848 + const-string v1, "call_log"
25850 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25854 + if-eqz v1, :cond_1a9
25856 + if-eqz v7, :cond_19e
25858 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
25864 + if-ne v1, v4, :cond_19e
25866 + const-string v15, "[empty]"
25868 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25870 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25872 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25876 + const-string v5, "callLog"
25880 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25885 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25889 + const-string v5, "callLog"
25893 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25898 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
25900 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25902 + move-result-object v1
25904 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25908 + if-eqz v1, :cond_54
25910 + if-eqz v7, :cond_1d0
25912 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
25918 + if-ne v1, v4, :cond_1d0
25920 + const-string v15, "[empty]"
25922 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25924 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25926 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25930 + const-string v5, "bookmarks"
25934 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25939 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25943 + const-string v5, "bookmarks"
25947 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25952 + move-object/from16 v13, p3
25957 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;Z)Landroid/database/Cursor;
25959 + .annotation system Ldalvik/annotation/Throws;
25961 + Landroid/os/RemoteException;
25965 + if-eqz p0, :cond_dd
25967 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25969 + if-nez v1, :cond_13
25971 + const-string/jumbo v1, "privacy"
25973 + move-object/from16 v0, p2
25975 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
25977 + move-result-object v1
25979 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
25981 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25984 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25986 + move-result-object v2
25988 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25992 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25994 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25996 + move-result-object v7
25998 + invoke-virtual {p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26000 + move-result-object v9
26002 + const-string v14, "[real]"
26004 + move-object/from16 v13, p3
26006 + if-eqz v9, :cond_6d
26008 + const-string v1, "com.google.android.gsf.gservices"
26010 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26014 + if-eqz v1, :cond_6d
26016 + if-eqz v7, :cond_cb
26018 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
26022 + if-eqz v1, :cond_cb
26024 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
26028 + const/4 v11, -0x1
26034 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getCount()I
26038 + if-ge v12, v1, :cond_5d
26040 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->moveToNext()Z
26044 + move-object/from16 v0, p3
26046 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
26048 + move-result-object v1
26050 + const-string v4, "android_id"
26052 + invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26056 + if-eqz v1, :cond_6e
26058 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
26060 + .catchall {:try_start_41 .. :try_end_5c} :catchall_8b
26061 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_5c} :catch_71
26066 + move-object/from16 v0, p3
26068 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
26072 + if-ne v11, v1, :cond_9e
26074 + const-string v1, "PrivacyContentResolver"
26076 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
26078 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26082 + return-object v13
26085 + add-int/lit8 v12, v12, 0x1
26090 + move-exception v10
26093 + const-string v1, "PrivacyContentResolver"
26095 + const-string/jumbo v4, "something went wrong while getting blocked permission for android id"
26097 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
26099 + .catchall {:try_start_72 .. :try_end_7a} :catchall_8b
26101 + move-object/from16 v0, p3
26103 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
26107 + if-ne v11, v1, :cond_9e
26109 + const-string v1, "PrivacyContentResolver"
26111 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
26113 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26118 + move-exception v1
26120 + move-object/from16 v0, p3
26122 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
26126 + if-ne v11, v4, :cond_9d
26128 + const-string v1, "PrivacyContentResolver"
26130 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
26132 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26140 + const-string v1, "PrivacyContentResolver"
26142 + new-instance v4, Ljava/lang/StringBuilder;
26144 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
26146 + const-string/jumbo v5, "now blocking google access to android id and give fake cursor. forbidden_position: "
26148 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26150 + move-result-object v4
26152 + invoke-virtual {v4, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26154 + move-result-object v4
26156 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26158 + move-result-object v4
26160 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26162 + const-string v14, "[fake]"
26164 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26166 + move-object/from16 v0, p3
26168 + invoke-direct {v13, v0, v11}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;I)V
26170 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26174 + const-string/jumbo v5, "networkInfoSIM"
26178 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26183 + const-string v1, "PrivacyContentResolver"
26185 + const-string v4, "google is allowed to get real cursor"
26187 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26189 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26193 + const-string/jumbo v5, "networkInfoSIM"
26197 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26202 + move-object/from16 v13, p3
26206 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
26207 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
26208 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2013-08-15 23:20:07.960304776 -0500
26210 +.class public Landroid/privacy/surrogate/PrivacyCursor;
26211 +.super Ljava/lang/Object;
26212 +.source "PrivacyCursor.java"
26215 +.implements Landroid/database/Cursor;
26219 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
26221 +.field private static final mask:[Ljava/lang/String;
26225 +.field private allowedIdMapping:[I
26227 +.field private allowedIds:[I
26229 +.field private blockedColumnAndroidID:I
26231 +.field private googleCursor:Z
26233 +.field private realCursor:Landroid/database/Cursor;
26237 +.method static constructor <clinit>()V
26240 + const/16 v0, 0x10
26242 + new-array v0, v0, [Ljava/lang/String;
26246 + const-string v2, "0"
26248 + aput-object v2, v0, v1
26252 + const-string v2, "1"
26254 + aput-object v2, v0, v1
26258 + const-string v2, "2"
26260 + aput-object v2, v0, v1
26264 + const-string v2, "3"
26266 + aput-object v2, v0, v1
26270 + const-string v2, "4"
26272 + aput-object v2, v0, v1
26276 + const-string v2, "5"
26278 + aput-object v2, v0, v1
26282 + const-string v2, "6"
26284 + aput-object v2, v0, v1
26288 + const-string v2, "7"
26290 + aput-object v2, v0, v1
26294 + const-string v2, "8"
26296 + aput-object v2, v0, v1
26300 + const-string v2, "9"
26302 + aput-object v2, v0, v1
26306 + const-string v2, "a"
26308 + aput-object v2, v0, v1
26312 + const-string v2, "b"
26314 + aput-object v2, v0, v1
26318 + const-string v2, "c"
26320 + aput-object v2, v0, v1
26324 + const-string v2, "d"
26326 + aput-object v2, v0, v1
26330 + const-string v2, "e"
26332 + aput-object v2, v0, v1
26336 + const-string v2, "f"
26338 + aput-object v2, v0, v1
26340 + sput-object v0, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
26345 +.method public constructor <init>()V
26348 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
26353 +.method public constructor <init>(Landroid/database/Cursor;I)V
26356 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
26358 + const/16 v0, -0xb
26360 + if-ne p2, v0, :cond_28
26364 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26367 + iput p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
26371 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26373 + const-string v0, "PrivacyCursor"
26375 + new-instance v1, Ljava/lang/StringBuilder;
26377 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
26379 + const-string v2, "constructor is ready for google cursor! forbidden_position: "
26381 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26383 + move-result-object v1
26385 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26387 + move-result-object v1
26389 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26391 + move-result-object v1
26393 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26398 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26403 +.method public constructor <init>(Landroid/database/Cursor;[I)V
26406 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
26408 + if-eqz p2, :cond_8
26410 + array-length v2, p2
26412 + if-nez v2, :cond_9
26418 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26420 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
26422 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26424 + if-eqz v2, :cond_3f
26426 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26428 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
26432 + array-length v2, p2
26434 + new-array v2, v2, [I
26436 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26442 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26444 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
26448 + if-eqz v2, :cond_3a
26450 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26452 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
26456 + if-eqz v2, :cond_1d
26458 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26460 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26462 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
26468 + add-int/lit8 v1, v1, 0x1
26473 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26475 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
26481 +.method private getContactId(Landroid/database/Cursor;)I
26484 + const-string v2, "_id"
26486 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
26494 + if-eq v0, v2, :cond_e
26496 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
26504 +.method private getFakeID()Ljava/lang/String;
26508 + new-instance v3, Ljava/util/Random;
26510 + invoke-direct {v3}, Ljava/util/Random;-><init>()V
26512 + const-string v2, ""
26517 + const/16 v4, 0x10
26519 + if-ge v1, v4, :cond_34
26521 + new-instance v4, Ljava/lang/StringBuilder;
26523 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
26525 + invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26527 + move-result-object v4
26529 + sget-object v5, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
26533 + invoke-virtual {v3, v6}, Ljava/util/Random;->nextInt(I)I
26537 + aget-object v5, v5, v6
26539 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26541 + move-result-object v4
26543 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26545 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_26} :catch_2a
26547 + move-result-object v2
26549 + add-int/lit8 v1, v1, 0x1
26554 + move-exception v0
26556 + const-string v4, "PrivacyCursor"
26558 + const-string/jumbo v5, "something went wrong with creating fake ID"
26560 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
26568 +.method private getMappedPos(I)I
26574 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26576 + array-length v1, v1
26578 + if-ge v0, v1, :cond_10
26580 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26584 + if-ne v1, p1, :cond_d
26590 + add-int/lit8 v0, v0, 0x1
26600 +.method private isAllowed(I)Z
26605 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
26607 + array-length v3, v0
26612 + if-ge v2, v3, :cond_c
26616 + if-ne p1, v1, :cond_d
26624 + add-int/lit8 v2, v2, 0x1
26629 +.method private isAllowed(Landroid/database/Cursor;)Z
26632 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
26636 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
26645 +.method public close()V
26648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26650 + if-eqz v0, :cond_9
26652 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26654 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
26660 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
26663 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26665 + if-eqz v0, :cond_9
26667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26669 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
26675 +.method public deactivate()V
26678 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26680 + if-eqz v0, :cond_9
26682 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26684 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
26690 +.method public getBlob(I)[B
26693 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26695 + if-eqz v0, :cond_b
26697 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26699 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
26701 + move-result-object v0
26709 + new-array v0, v0, [B
26714 +.method public getColumnCount()I
26717 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26719 + if-eqz v0, :cond_b
26721 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26723 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
26736 +.method public getColumnIndex(Ljava/lang/String;)I
26739 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26741 + if-eqz v0, :cond_b
26743 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26745 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
26758 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
26760 + .annotation system Ldalvik/annotation/Throws;
26762 + Ljava/lang/IllegalArgumentException;
26766 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26768 + if-eqz v0, :cond_b
26770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26772 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
26785 +.method public getColumnName(I)Ljava/lang/String;
26788 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26790 + if-eqz v0, :cond_b
26792 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26794 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
26796 + move-result-object v0
26802 + const-string v0, ""
26807 +.method public getColumnNames()[Ljava/lang/String;
26810 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26812 + if-eqz v0, :cond_b
26814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26816 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
26818 + move-result-object v0
26826 + new-array v0, v0, [Ljava/lang/String;
26830 + const-string v2, ""
26832 + aput-object v2, v0, v1
26837 +.method public getCount()I
26840 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26842 + if-eqz v0, :cond_2b
26844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26846 + if-eqz v0, :cond_2b
26848 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26850 + if-nez v0, :cond_2b
26852 + const-string v0, "PrivacyCursor"
26854 + new-instance v1, Ljava/lang/StringBuilder;
26856 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
26858 + const-string v2, "getCount: "
26860 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26862 + move-result-object v1
26864 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26866 + array-length v2, v2
26868 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26870 + move-result-object v1
26872 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26874 + move-result-object v1
26876 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26878 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26880 + array-length v0, v0
26886 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26888 + if-eqz v0, :cond_36
26890 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26892 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
26904 +.method public getDouble(I)D
26907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26909 + if-eqz v0, :cond_b
26911 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26913 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
26915 + move-result-wide v0
26921 + const-wide/16 v0, 0x0
26926 +.method public getExtras()Landroid/os/Bundle;
26929 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26931 + if-eqz v0, :cond_b
26933 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26935 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
26937 + move-result-object v0
26943 + new-instance v0, Landroid/os/Bundle;
26945 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
26950 +.method public getFloat(I)F
26953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26955 + if-eqz v0, :cond_b
26957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26959 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
26972 +.method public getInt(I)I
26975 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26977 + if-eqz v1, :cond_b
26979 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26981 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
26994 +.method public getLong(I)J
26997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26999 + if-eqz v0, :cond_b
27001 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27003 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
27005 + move-result-wide v0
27011 + const-wide/16 v0, 0x0
27016 +.method public getPosition()I
27019 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27021 + if-eqz v1, :cond_3f
27023 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27025 + if-eqz v1, :cond_3f
27027 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27029 + if-nez v1, :cond_3f
27031 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27033 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
27037 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
27041 + const-string v1, "PrivacyCursor"
27043 + new-instance v2, Ljava/lang/StringBuilder;
27045 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
27047 + const-string v3, "getPosition - mapped position: "
27049 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27051 + move-result-object v2
27053 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27055 + move-result-object v2
27057 + const-string v3, " real position: "
27059 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27061 + move-result-object v2
27063 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27065 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
27069 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27071 + move-result-object v2
27073 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27075 + move-result-object v2
27077 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
27083 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27085 + if-eqz v1, :cond_4a
27087 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27089 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
27101 +.method public getShort(I)S
27104 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27106 + if-eqz v0, :cond_b
27108 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27110 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
27123 +.method public getString(I)Ljava/lang/String;
27126 + iget-boolean v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27128 + if-eqz v4, :cond_63
27132 + if-ne p1, v4, :cond_63
27134 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27136 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
27140 + iget v5, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
27142 + if-ne v4, v5, :cond_63
27144 + const-string v4, "PrivacyCursor"
27146 + const-string v5, "google tries to get android_id with getString()"
27148 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27150 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyCursor;->getFakeID()Ljava/lang/String;
27152 + move-result-object v2
27154 + if-eqz v2, :cond_58
27157 + new-instance v3, Ljava/math/BigInteger;
27159 + const/16 v4, 0x10
27161 + invoke-direct {v3, v2, v4}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
27163 + invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
27165 + move-result-object v1
27167 + const-string v4, "PrivacyCursor"
27169 + new-instance v5, Ljava/lang/StringBuilder;
27171 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
27173 + const-string/jumbo v6, "returned : "
27175 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27177 + move-result-object v5
27179 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27181 + move-result-object v5
27183 + const-string v6, "(String) as fake android id"
27185 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27187 + move-result-object v5
27189 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27191 + move-result-object v5
27193 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27195 + .catch Ljava/lang/Exception; {:try_start_1e .. :try_end_48} :catch_49
27201 + move-exception v0
27203 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
27205 + const-string v4, "PrivacyCursor"
27207 + const-string/jumbo v5, "returned \"\" as android_id"
27209 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27211 + const-string v1, ""
27216 + const-string v4, "PrivacyCursor"
27218 + const-string/jumbo v5, "returned \"\" as android_id"
27220 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27222 + const-string v1, ""
27227 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27229 + if-eqz v4, :cond_6e
27231 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27233 + invoke-interface {v4, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
27235 + move-result-object v1
27240 + const-string v1, ""
27245 +.method public getType(I)I
27248 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27250 + if-eqz v0, :cond_b
27252 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27254 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
27262 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27269 +.method public getWantsAllOnMoveCalls()Z
27272 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27274 + if-eqz v0, :cond_b
27276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27278 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
27291 +.method public isAfterLast()Z
27294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27296 + if-eqz v0, :cond_b
27298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27300 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
27313 +.method public isBeforeFirst()Z
27316 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27318 + if-eqz v0, :cond_b
27320 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27322 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
27335 +.method public isClosed()Z
27338 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27340 + if-eqz v0, :cond_b
27342 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27344 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
27357 +.method public isFirst()Z
27362 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27364 + if-eqz v1, :cond_1b
27366 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27368 + if-eqz v1, :cond_1b
27370 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27372 + if-nez v1, :cond_1b
27374 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27376 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
27380 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27384 + if-ne v1, v2, :cond_1a
27393 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27395 + if-eqz v1, :cond_1a
27397 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27399 + invoke-interface {v0}, Landroid/database/Cursor;->isFirst()Z
27406 +.method public isLast()Z
27409 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27411 + if-eqz v0, :cond_1f
27413 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27415 + if-eqz v0, :cond_1f
27417 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27419 + if-nez v0, :cond_1f
27421 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27423 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
27427 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27429 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27431 + array-length v2, v2
27433 + add-int/lit8 v2, v2, -0x1
27437 + if-ne v0, v1, :cond_2a
27445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27447 + if-eqz v0, :cond_2a
27449 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27451 + invoke-interface {v0}, Landroid/database/Cursor;->isLast()Z
27463 +.method public isNull(I)Z
27466 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27468 + if-eqz v0, :cond_b
27470 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27472 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
27485 +.method public move(I)Z
27490 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27492 + if-eqz v3, :cond_3e
27494 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27496 + if-eqz v3, :cond_3e
27498 + iget-boolean v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27500 + if-nez v3, :cond_3e
27502 + const-string v3, "PrivacyCursor"
27504 + new-instance v4, Ljava/lang/StringBuilder;
27506 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
27508 + const-string/jumbo v5, "move - offset: "
27510 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27512 + move-result-object v4
27514 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27516 + move-result-object v4
27518 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27520 + move-result-object v4
27522 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
27525 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27527 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27529 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
27533 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
27537 + add-int/2addr v4, p1
27541 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27543 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
27545 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_26 .. :try_end_3a} :catch_3c
27554 + move-exception v0
27559 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27561 + if-eqz v3, :cond_3b
27563 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27565 + invoke-interface {v3, p1}, Landroid/database/Cursor;->move(I)Z
27570 +.method public moveToFirst()Z
27575 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27577 + if-eqz v1, :cond_18
27579 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27581 + if-eqz v1, :cond_18
27583 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27585 + if-nez v1, :cond_18
27587 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27589 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27593 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
27602 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27604 + if-eqz v1, :cond_17
27606 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27608 + invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
27615 +.method public moveToLast()Z
27618 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27620 + if-eqz v1, :cond_1c
27622 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27624 + if-eqz v1, :cond_1c
27626 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27628 + if-nez v1, :cond_1c
27630 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27632 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27634 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27636 + array-length v3, v3
27638 + add-int/lit8 v3, v3, -0x1
27642 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
27650 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27652 + if-eqz v1, :cond_27
27654 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27656 + invoke-interface {v1}, Landroid/database/Cursor;->moveToLast()Z
27668 +.method public moveToNext()Z
27673 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27675 + if-eqz v1, :cond_29
27677 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27679 + if-eqz v1, :cond_29
27681 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27683 + if-nez v1, :cond_29
27685 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27687 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27691 + if-nez v1, :cond_16
27703 + if-ne v0, v1, :cond_15
27705 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27707 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27711 + if-nez v1, :cond_15
27713 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27715 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27722 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27724 + if-eqz v1, :cond_15
27726 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27728 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27735 +.method public moveToPosition(I)Z
27740 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27742 + if-eqz v2, :cond_1a
27744 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27746 + if-eqz v2, :cond_1a
27748 + iget-boolean v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27750 + if-nez v2, :cond_1a
27753 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27755 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27759 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
27761 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_d .. :try_end_16} :catch_18
27770 + move-exception v0
27775 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27777 + if-eqz v2, :cond_17
27779 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27781 + invoke-interface {v2, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
27788 +.method public moveToPrevious()Z
27793 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27795 + if-eqz v1, :cond_29
27797 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27799 + if-eqz v1, :cond_29
27801 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27803 + if-nez v1, :cond_29
27805 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27807 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27811 + if-nez v1, :cond_16
27823 + if-ne v0, v1, :cond_15
27825 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27827 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27831 + if-nez v1, :cond_15
27833 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27835 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27842 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27844 + if-eqz v1, :cond_15
27846 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27848 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27855 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
27858 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27860 + if-eqz v0, :cond_9
27862 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27864 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
27870 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
27873 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27875 + if-eqz v0, :cond_9
27877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27879 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
27885 +.method public requery()Z
27888 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27890 + if-eqz v0, :cond_b
27892 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27894 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
27907 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27910 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27912 + if-eqz v0, :cond_b
27914 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27916 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27918 + move-result-object v0
27924 + new-instance v0, Landroid/os/Bundle;
27926 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
27931 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27936 + if-eqz v0, :cond_9
27938 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27940 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27946 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
27949 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27951 + if-eqz v0, :cond_9
27953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27955 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
27961 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27964 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27966 + if-eqz v0, :cond_9
27968 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27970 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27975 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
27976 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
27977 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2013-08-15 23:20:07.960304776 -0500
27979 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27980 +.super Ljava/lang/Thread;
27981 +.source "PrivacyLocationManager.java"
27985 +.annotation system Ldalvik/annotation/EnclosingClass;
27986 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
27989 +.annotation system Ldalvik/annotation/InnerClass;
27990 + accessFlags = 0x2
27991 + name = "PrivacyLocationUpdater"
27996 +.field private intent:Landroid/app/PendingIntent;
27998 +.field private latitude:D
28000 +.field private listener:Landroid/location/LocationListener;
28002 +.field private longitude:D
28004 +.field private provider:Ljava/lang/String;
28006 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
28010 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
28013 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
28015 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
28017 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
28019 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
28021 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
28023 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
28025 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
28032 +.method public run()V
28035 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
28037 + if-eqz v3, :cond_43
28039 + new-instance v2, Landroid/location/Location;
28041 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
28043 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28045 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
28047 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28049 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
28051 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28058 + if-ge v1, v3, :cond_43
28060 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
28062 + if-eqz v3, :cond_34
28064 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
28066 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
28071 + invoke-static {}, Ljava/lang/Math;->random()D
28073 + move-result-wide v3
28075 + const-wide v5, 0x408f400000000000L
28077 + mul-double/2addr v3, v5
28079 + double-to-int v3, v3
28081 + int-to-long v3, v3
28083 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
28085 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
28088 + add-int/lit8 v1, v1, 0x1
28093 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
28095 + if-eqz v3, :cond_22
28097 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
28099 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
28104 + move-exception v0
28106 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
28113 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
28114 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
28115 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2013-08-15 23:20:07.964304776 -0500
28117 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
28118 +.super Landroid/location/LocationManager;
28119 +.source "PrivacyLocationManager.java"
28123 +.annotation system Ldalvik/annotation/MemberClasses;
28125 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28131 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
28133 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
28137 +.field private context:Landroid/content/Context;
28139 +.field private lock:Ljava/lang/Object;
28141 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
28145 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
28148 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
28150 + new-instance v0, Ljava/lang/Object;
28152 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
28154 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
28156 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28158 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
28160 + const-string/jumbo v1, "privacy"
28162 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
28164 + move-result-object v1
28166 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
28168 + move-result-object v1
28170 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
28172 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28177 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
28182 + if-nez p1, :cond_5
28190 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
28196 + if-eq v0, v1, :cond_24
28198 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
28202 + if-eq v0, v2, :cond_24
28204 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
28208 + if-eq v0, v2, :cond_24
28210 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
28214 + if-eq v0, v2, :cond_24
28216 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
28220 + if-ne v0, v2, :cond_2b
28223 + const-string v0, "gps"
28225 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
28232 + const-string/jumbo v0, "network"
28234 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
28241 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
28244 + move-object/from16 v0, p0
28246 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
28248 + move-object/from16 v19, v0
28250 + monitor-enter v19
28253 + move-object/from16 v0, p0
28255 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28257 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28259 + move-result-object v2
28261 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28265 + move-object/from16 v0, p0
28267 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28269 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28271 + move-result-object v7
28273 + const/16 v18, 0x0
28275 + if-eqz v7, :cond_239
28277 + const-string v1, "gps"
28279 + move-object/from16 v0, p1
28281 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28285 + if-eqz v1, :cond_111
28287 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28291 + packed-switch v1, :pswitch_data_25e
28300 + move-object/from16 v0, p0
28302 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28306 + const-string v5, "locationGPS"
28310 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28315 + move-exception v1
28319 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
28324 + if-eqz p3, :cond_46
28327 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
28330 + const/16 v18, 0x1
28332 + move-object/from16 v0, p0
28334 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28338 + const-string v5, "locationGPS"
28342 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28344 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
28350 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28352 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28354 + move-result-object v1
28356 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28358 + move-result-wide v13
28360 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28362 + move-result-object v1
28364 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28366 + move-result-wide v15
28368 + move-object/from16 v9, p0
28370 + move-object/from16 v10, p1
28372 + move-object/from16 v11, p2
28374 + move-object/from16 v12, p3
28376 + 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
28378 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28380 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
28381 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
28383 + const/16 v18, 0x1
28387 + move-object/from16 v0, p0
28389 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28393 + const-string v5, "locationGPS"
28395 + new-instance v6, Ljava/lang/StringBuilder;
28397 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28399 + const-string v8, "Lat: "
28401 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28403 + move-result-object v6
28405 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28407 + move-result-object v8
28409 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28411 + move-result-object v6
28413 + const-string v8, " Lon: "
28415 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28417 + move-result-object v6
28419 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28421 + move-result-object v8
28423 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28425 + move-result-object v6
28427 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28429 + move-result-object v6
28431 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28436 + move-exception v17
28438 + const-string v1, "PrivacyLocationManager"
28440 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28442 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28444 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
28446 + const/16 v18, 0x1
28452 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28454 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28456 + move-result-object v1
28458 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28460 + move-result-wide v13
28462 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28464 + move-result-object v1
28466 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28468 + move-result-wide v15
28470 + move-object/from16 v9, p0
28472 + move-object/from16 v10, p1
28474 + move-object/from16 v11, p2
28476 + move-object/from16 v12, p3
28478 + 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
28480 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28482 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
28483 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
28485 + const/16 v18, 0x1
28489 + move-object/from16 v0, p0
28491 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28495 + const-string v5, "locationGPS"
28497 + new-instance v6, Ljava/lang/StringBuilder;
28499 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28501 + const-string v8, "Lat: "
28503 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28505 + move-result-object v6
28507 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28509 + move-result-object v8
28511 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28513 + move-result-object v6
28515 + const-string v8, " Lon: "
28517 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28519 + move-result-object v6
28521 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28523 + move-result-object v8
28525 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28527 + move-result-object v6
28529 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28531 + move-result-object v6
28533 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28538 + move-exception v17
28540 + const-string v1, "PrivacyLocationManager"
28542 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28544 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28546 + const/16 v18, 0x1
28551 + const-string/jumbo v1, "network"
28553 + move-object/from16 v0, p1
28555 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28559 + if-eqz v1, :cond_204
28561 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28565 + packed-switch v1, :pswitch_data_26a
28570 + move-object/from16 v0, p0
28572 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28576 + const-string v5, "locationNetwork"
28580 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28585 + if-eqz p3, :cond_137
28587 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
28590 + const/16 v18, 0x1
28592 + move-object/from16 v0, p0
28594 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28598 + const-string v5, "locationNetwork"
28602 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28604 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
28610 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28612 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28614 + move-result-object v1
28616 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28618 + move-result-wide v13
28620 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28622 + move-result-object v1
28624 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28626 + move-result-wide v15
28628 + move-object/from16 v9, p0
28630 + move-object/from16 v10, p1
28632 + move-object/from16 v11, p2
28634 + move-object/from16 v12, p3
28636 + 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
28638 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28640 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
28641 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
28643 + const/16 v18, 0x1
28647 + move-object/from16 v0, p0
28649 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28653 + const-string v5, "locationNetwork"
28655 + new-instance v6, Ljava/lang/StringBuilder;
28657 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28659 + const-string v8, "Lat: "
28661 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28663 + move-result-object v6
28665 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28667 + move-result-object v8
28669 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28671 + move-result-object v6
28673 + const-string v8, " Lon: "
28675 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28677 + move-result-object v6
28679 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28681 + move-result-object v8
28683 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28685 + move-result-object v6
28687 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28689 + move-result-object v6
28691 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28696 + move-exception v17
28698 + const-string v1, "PrivacyLocationManager"
28700 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28702 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28704 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
28706 + const/16 v18, 0x1
28712 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28714 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28716 + move-result-object v1
28718 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28720 + move-result-wide v13
28722 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28724 + move-result-object v1
28726 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28728 + move-result-wide v15
28730 + move-object/from16 v9, p0
28732 + move-object/from16 v10, p1
28734 + move-object/from16 v11, p2
28736 + move-object/from16 v12, p3
28738 + 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
28740 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28742 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
28743 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
28745 + const/16 v18, 0x1
28749 + move-object/from16 v0, p0
28751 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28755 + const-string v5, "locationNetwork"
28757 + new-instance v6, Ljava/lang/StringBuilder;
28759 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28761 + const-string v8, "Lat: "
28763 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28765 + move-result-object v6
28767 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28769 + move-result-object v8
28771 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28773 + move-result-object v6
28775 + const-string v8, " Lon: "
28777 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28779 + move-result-object v6
28781 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28783 + move-result-object v8
28785 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28787 + move-result-object v6
28789 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28791 + move-result-object v6
28793 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28798 + move-exception v17
28800 + const-string v1, "PrivacyLocationManager"
28802 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28804 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28806 + const/16 v18, 0x1
28811 + const-string/jumbo v1, "passive"
28813 + move-object/from16 v0, p1
28815 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28819 + if-eqz v1, :cond_30
28821 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28825 + if-nez v1, :cond_22a
28827 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28831 + if-nez v1, :cond_22a
28833 + const/16 v18, 0x0
28835 + move-object/from16 v0, p0
28837 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28841 + const-string v5, "locationGPS"
28845 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28850 + const/16 v18, 0x1
28852 + move-object/from16 v0, p0
28854 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28858 + const-string v5, "locationGPS"
28862 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28867 + const-string/jumbo v1, "network"
28869 + move-object/from16 v0, p1
28871 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28875 + if-eqz v1, :cond_251
28877 + move-object/from16 v0, p0
28879 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28883 + const-string v5, "locationNetwork"
28887 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28892 + move-object/from16 v0, p0
28894 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28898 + const-string v5, "locationGPS"
28902 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28904 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
28908 + :pswitch_data_25e
28909 + .packed-switch 0x0
28914 + .end packed-switch
28916 + :pswitch_data_26a
28917 + .packed-switch 0x0
28922 + .end packed-switch
28927 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28936 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28938 + move-result-object v1
28940 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28944 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28946 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28948 + move-result-object v6
28950 + if-eqz v6, :cond_24
28952 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28956 + if-eqz v0, :cond_24
28958 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28962 + const-string v4, "locationGPS"
28964 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28972 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28974 + const-string v4, "locationGPS"
28978 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28980 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28987 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29000 + if-nez p1, :cond_c
29002 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29004 + move-result-object v7
29011 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29013 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29015 + move-result-object v1
29017 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29021 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29023 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29025 + move-result-object v6
29029 + if-eqz v6, :cond_22c
29031 + const-string v0, "gps"
29033 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29037 + if-eqz v0, :cond_ff
29039 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29043 + packed-switch v0, :pswitch_data_29a
29048 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29050 + move-result-object v7
29052 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29054 + const-string v4, "locationGPS"
29056 + if-eqz v7, :cond_5e
29058 + new-instance v5, Ljava/lang/StringBuilder;
29060 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29062 + const-string v8, "Lat: "
29064 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29066 + move-result-object v5
29068 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29070 + move-result-wide v8
29072 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29074 + move-result-object v5
29076 + const-string v8, " Lon: "
29078 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29080 + move-result-object v5
29082 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29084 + move-result-wide v8
29086 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29088 + move-result-object v5
29090 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29092 + move-result-object v5
29095 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29100 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29102 + const-string v4, "locationGPS"
29106 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29111 + new-instance v7, Landroid/location/Location;
29113 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
29115 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
29117 + move-result-object v0
29119 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29121 + move-result-wide v3
29123 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
29125 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
29127 + move-result-object v0
29129 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29131 + move-result-wide v3
29133 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
29135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29137 + const-string v4, "locationGPS"
29139 + new-instance v3, Ljava/lang/StringBuilder;
29141 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29143 + const-string v5, "Lat: "
29145 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29147 + move-result-object v3
29149 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29151 + move-result-wide v8
29153 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29155 + move-result-object v3
29157 + const-string v5, " Lon: "
29159 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29161 + move-result-object v3
29163 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29165 + move-result-wide v8
29167 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29169 + move-result-object v3
29171 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29173 + move-result-object v5
29177 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29182 + new-instance v7, Landroid/location/Location;
29184 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
29186 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
29188 + move-result-object v0
29190 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29192 + move-result-wide v3
29194 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
29196 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
29198 + move-result-object v0
29200 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29202 + move-result-wide v3
29204 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
29206 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29208 + const-string v4, "locationGPS"
29210 + new-instance v3, Ljava/lang/StringBuilder;
29212 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29214 + const-string v5, "Lat: "
29216 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29218 + move-result-object v3
29220 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29222 + move-result-wide v8
29224 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29226 + move-result-object v3
29228 + const-string v5, " Lon: "
29230 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29232 + move-result-object v3
29234 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29236 + move-result-wide v8
29238 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29240 + move-result-object v3
29242 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29244 + move-result-object v5
29248 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29253 + const-string/jumbo v0, "network"
29255 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29259 + if-eqz v0, :cond_1e3
29261 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29265 + packed-switch v0, :pswitch_data_2a6
29270 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29272 + move-result-object v7
29274 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29276 + const-string v4, "locationNetwork"
29278 + if-eqz v7, :cond_140
29280 + new-instance v5, Ljava/lang/StringBuilder;
29282 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29284 + const-string v8, "Lat: "
29286 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29288 + move-result-object v5
29290 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29292 + move-result-wide v8
29294 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29296 + move-result-object v5
29298 + const-string v8, " Lon: "
29300 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29302 + move-result-object v5
29304 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29306 + move-result-wide v8
29308 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29310 + move-result-object v5
29312 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29314 + move-result-object v5
29317 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29324 + const-string v4, "locationNetwork"
29328 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29333 + new-instance v7, Landroid/location/Location;
29335 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
29337 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
29339 + move-result-object v0
29341 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29343 + move-result-wide v3
29345 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
29347 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
29349 + move-result-object v0
29351 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29353 + move-result-wide v3
29355 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
29357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29359 + const-string v4, "locationNetwork"
29361 + new-instance v3, Ljava/lang/StringBuilder;
29363 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29365 + const-string v5, "Lat: "
29367 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29369 + move-result-object v3
29371 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29373 + move-result-wide v8
29375 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29377 + move-result-object v3
29379 + const-string v5, " Lon: "
29381 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29383 + move-result-object v3
29385 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29387 + move-result-wide v8
29389 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29391 + move-result-object v3
29393 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29395 + move-result-object v5
29399 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29404 + new-instance v7, Landroid/location/Location;
29406 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
29408 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
29410 + move-result-object v0
29412 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29414 + move-result-wide v3
29416 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
29418 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
29420 + move-result-object v0
29422 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
29424 + move-result-wide v3
29426 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
29428 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29430 + const-string v4, "locationNetwork"
29432 + new-instance v3, Ljava/lang/StringBuilder;
29434 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29436 + const-string v5, "Lat: "
29438 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29440 + move-result-object v3
29442 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29444 + move-result-wide v8
29446 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29448 + move-result-object v3
29450 + const-string v5, " Lon: "
29452 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29454 + move-result-object v3
29456 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29458 + move-result-wide v8
29460 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29462 + move-result-object v3
29464 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29466 + move-result-object v5
29470 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29475 + const-string/jumbo v0, "passive"
29477 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29481 + if-eqz v0, :cond_b
29483 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29487 + if-nez v0, :cond_b
29489 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29493 + if-nez v0, :cond_b
29495 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29497 + move-result-object v7
29499 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29501 + const-string v4, "locationGPS"
29503 + if-eqz v7, :cond_227
29505 + new-instance v5, Ljava/lang/StringBuilder;
29507 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29509 + const-string v8, "Lat: "
29511 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29513 + move-result-object v5
29515 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29517 + move-result-wide v8
29519 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29521 + move-result-object v5
29523 + const-string v8, " Lon: "
29525 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29527 + move-result-object v5
29529 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29531 + move-result-wide v8
29533 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29535 + move-result-object v5
29537 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29539 + move-result-object v5
29542 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29547 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29549 + move-result-object v7
29551 + const-string/jumbo v0, "network"
29553 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29557 + if-eqz v0, :cond_269
29559 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29561 + const-string v4, "locationNetwork"
29563 + if-eqz v7, :cond_264
29565 + new-instance v5, Ljava/lang/StringBuilder;
29567 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29569 + const-string v8, "Lat: "
29571 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29573 + move-result-object v5
29575 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29577 + move-result-wide v8
29579 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29581 + move-result-object v5
29583 + const-string v8, " Lon: "
29585 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29587 + move-result-object v5
29589 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29591 + move-result-wide v8
29593 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29595 + move-result-object v5
29597 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29599 + move-result-object v5
29602 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29607 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29609 + const-string v4, "locationGPS"
29611 + if-eqz v7, :cond_294
29613 + new-instance v5, Ljava/lang/StringBuilder;
29615 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29617 + const-string v8, "Lat: "
29619 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29621 + move-result-object v5
29623 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29625 + move-result-wide v8
29627 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29629 + move-result-object v5
29631 + const-string v8, " Lon: "
29633 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29635 + move-result-object v5
29637 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29639 + move-result-wide v8
29641 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29643 + move-result-object v5
29645 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29647 + move-result-object v5
29650 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29656 + :pswitch_data_29a
29657 + .packed-switch 0x0
29662 + .end packed-switch
29664 + :pswitch_data_2a6
29665 + .packed-switch 0x0
29670 + .end packed-switch
29673 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29676 + if-nez p1, :cond_7
29678 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29680 + move-result-object v0
29687 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29689 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29691 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29693 + move-result-object v3
29695 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29699 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29701 + move-result-object v1
29705 + if-eqz v1, :cond_5f
29707 + const-string v2, "gps"
29709 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29713 + if-eqz v2, :cond_2f
29715 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29719 + packed-switch v2, :pswitch_data_64
29725 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29727 + move-result-object v0
29732 + const-string/jumbo v2, "network"
29734 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29738 + if-eqz v2, :cond_45
29740 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29744 + packed-switch v2, :pswitch_data_70
29750 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29752 + move-result-object v0
29757 + const-string/jumbo v2, "passive"
29759 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29763 + if-eqz v2, :cond_6
29765 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29769 + if-eqz v2, :cond_5a
29771 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29775 + if-nez v2, :cond_6
29778 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29780 + move-result-object v0
29785 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29787 + move-result-object v0
29792 + .packed-switch 0x0
29797 + .end packed-switch
29800 + .packed-switch 0x0
29805 + .end packed-switch
29808 +.method public isProviderEnabled(Ljava/lang/String;)Z
29811 + if-nez p1, :cond_7
29813 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29823 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29825 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29827 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29829 + move-result-object v3
29831 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29835 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29837 + move-result-object v1
29841 + if-eqz v1, :cond_65
29843 + const-string v2, "gps"
29845 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29849 + if-eqz v2, :cond_31
29851 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29855 + packed-switch v2, :pswitch_data_6a
29860 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29872 + const-string/jumbo v2, "network"
29874 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29878 + if-eqz v2, :cond_49
29880 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29884 + packed-switch v2, :pswitch_data_76
29889 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29901 + const-string/jumbo v2, "passive"
29903 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29907 + if-eqz v2, :cond_6
29909 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29913 + if-eqz v2, :cond_5e
29915 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29919 + if-nez v2, :cond_63
29922 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29934 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29941 + .packed-switch 0x0
29946 + .end packed-switch
29949 + .packed-switch 0x0
29954 + .end packed-switch
29957 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29960 + if-eqz p4, :cond_4
29962 + if-nez p5, :cond_8
29965 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29974 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29978 + if-nez v0, :cond_7
29980 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29985 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29988 + if-eqz p4, :cond_4
29990 + if-nez p5, :cond_8
29993 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
30002 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30006 + if-nez v0, :cond_7
30008 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
30013 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
30016 + if-eqz p1, :cond_4
30018 + if-nez p5, :cond_8
30021 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
30030 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30034 + if-nez v0, :cond_7
30036 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
30041 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
30044 + if-eqz p1, :cond_4
30046 + if-nez p5, :cond_8
30049 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
30058 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30062 + if-nez v0, :cond_7
30064 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
30069 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
30072 + if-eqz p1, :cond_4
30074 + if-nez p5, :cond_8
30077 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
30086 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30090 + if-nez v0, :cond_7
30092 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
30097 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
30100 + if-eqz p1, :cond_4
30102 + if-nez p2, :cond_8
30105 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
30114 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30118 + if-nez v0, :cond_7
30120 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
30125 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
30128 + if-eqz p1, :cond_4
30130 + if-nez p2, :cond_8
30133 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
30142 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30146 + if-nez v0, :cond_7
30148 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
30153 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
30156 + if-eqz p1, :cond_4
30158 + if-nez p2, :cond_8
30161 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
30170 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30174 + if-nez v0, :cond_7
30176 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
30181 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
30184 + if-eqz p1, :cond_4
30186 + if-nez p2, :cond_8
30189 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
30198 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30202 + if-nez v0, :cond_7
30204 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
30208 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
30209 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
30210 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2013-08-15 23:20:07.964304776 -0500
30212 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
30213 +.super Landroid/telephony/TelephonyManager;
30214 +.source "PrivacyTelephonyManager.java"
30218 +.field private static final NETWORK_TYPES:[I = null
30220 +.field private static final PHONE_TYPES:[I = null
30222 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
30226 +.field private context:Landroid/content/Context;
30228 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
30232 +.method static constructor <clinit>()V
30237 + new-array v0, v0, [I
30239 + fill-array-data v0, :array_12
30241 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
30243 + const/16 v0, 0x10
30245 + new-array v0, v0, [I
30247 + fill-array-data v0, :array_1e
30249 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30255 + 0x0t 0x0t 0x0t 0x0t
30256 + 0x1t 0x0t 0x0t 0x0t
30257 + 0x2t 0x0t 0x0t 0x0t
30258 + 0x3t 0x0t 0x0t 0x0t
30263 + 0x0t 0x0t 0x0t 0x0t
30264 + 0x1t 0x0t 0x0t 0x0t
30265 + 0x2t 0x0t 0x0t 0x0t
30266 + 0x3t 0x0t 0x0t 0x0t
30267 + 0x4t 0x0t 0x0t 0x0t
30268 + 0x5t 0x0t 0x0t 0x0t
30269 + 0x6t 0x0t 0x0t 0x0t
30270 + 0x7t 0x0t 0x0t 0x0t
30271 + 0x8t 0x0t 0x0t 0x0t
30272 + 0x9t 0x0t 0x0t 0x0t
30273 + 0xat 0x0t 0x0t 0x0t
30274 + 0xbt 0x0t 0x0t 0x0t
30275 + 0xct 0x0t 0x0t 0x0t
30276 + 0xdt 0x0t 0x0t 0x0t
30277 + 0xet 0x0t 0x0t 0x0t
30278 + 0xft 0x0t 0x0t 0x0t
30282 +.method public constructor <init>(Landroid/content/Context;)V
30285 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
30287 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30289 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
30291 + const-string/jumbo v1, "privacy"
30293 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
30295 + move-result-object v1
30297 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
30299 + move-result-object v1
30301 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
30303 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30308 +.method private getNetworkInfo()Ljava/lang/String;
30313 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30315 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30317 + move-result-object v1
30319 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30323 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30325 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30327 + move-result-object v6
30329 + if-eqz v6, :cond_25
30331 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
30335 + if-eqz v0, :cond_25
30337 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30341 + const-string/jumbo v4, "networkInfoCurrent"
30343 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30345 + const-string v5, ""
30351 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30355 + const-string/jumbo v4, "networkInfoCurrent"
30357 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30362 +.method private getSimInfo()Ljava/lang/String;
30367 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30369 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30371 + move-result-object v1
30373 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30377 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30379 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30381 + move-result-object v6
30383 + if-eqz v6, :cond_25
30385 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
30389 + if-eqz v0, :cond_25
30391 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30395 + const-string/jumbo v4, "networkInfoSIM"
30397 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30399 + const-string v5, ""
30405 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30409 + const-string/jumbo v4, "networkInfoSIM"
30411 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30418 +.method public getAllCellInfo()Ljava/util/List;
30420 + .annotation system Ldalvik/annotation/Signature;
30423 + "Ljava/util/List",
30425 + "Landroid/telephony/CellInfo;",
30430 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30432 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30434 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30436 + move-result-object v3
30438 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30442 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30444 + move-result-object v1
30448 + if-eqz v1, :cond_1f
30450 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30456 + if-ne v2, v3, :cond_20
30458 + new-instance v0, Ljava/util/ArrayList;
30460 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
30467 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30471 + if-eqz v2, :cond_2c
30473 + new-instance v0, Ljava/util/ArrayList;
30475 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
30480 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
30482 + move-result-object v0
30487 +.method public getCellLocation()Landroid/telephony/CellLocation;
30493 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30495 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30497 + move-result-object v1
30499 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30503 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30505 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30507 + move-result-object v6
30509 + if-eqz v6, :cond_2c
30511 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30515 + if-nez v0, :cond_1f
30517 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
30521 + if-eqz v0, :cond_2c
30524 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30526 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30530 + const-string v4, "locationNetwork"
30534 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30540 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30542 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30546 + const-string v4, "locationNetwork"
30550 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30552 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
30554 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_3b} :catch_3d
30556 + move-result-object v7
30561 + move-exception v8
30566 +.method public getCompleteVoiceMailNumber()Ljava/lang/String;
30570 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30572 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30574 + move-result-object v1
30576 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30582 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30584 + move-result-object v6
30586 + const-string v5, ""
30588 + if-eqz v6, :cond_2a
30590 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30594 + if-eqz v0, :cond_2a
30596 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30598 + move-result-object v5
30600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30602 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30606 + const-string v4, "line1Number"
30608 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30614 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber()Ljava/lang/String;
30616 + move-result-object v5
30618 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30622 + const-string v4, "line1Number"
30624 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30626 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
30631 + move-exception v7
30638 +.method public getDeviceId()Ljava/lang/String;
30641 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30643 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30645 + move-result-object v1
30647 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30651 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30653 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30655 + move-result-object v6
30657 + if-eqz v6, :cond_28
30659 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30663 + if-eqz v0, :cond_28
30665 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
30667 + move-result-object v5
30669 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30671 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30675 + const-string v4, "deviceID"
30677 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30683 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
30685 + move-result-object v5
30687 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30691 + const-string v4, "deviceID"
30693 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30698 +.method public getDeviceSoftwareVersion()Ljava/lang/String;
30702 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30704 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30706 + move-result-object v1
30708 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30712 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30714 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30716 + move-result-object v6
30718 + const-string v5, ""
30720 + if-eqz v6, :cond_2a
30722 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30726 + if-eqz v0, :cond_2a
30728 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
30730 + move-result-object v5
30732 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30734 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30738 + const-string v4, "deviceID"
30740 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30746 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceSoftwareVersion()Ljava/lang/String;
30748 + move-result-object v5
30750 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30754 + const-string v4, "deviceID"
30756 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30758 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
30763 + move-exception v7
30770 +.method public getIsimDomain()Ljava/lang/String;
30773 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30775 + move-result-object v0
30780 +.method public getIsimImpi()Ljava/lang/String;
30783 + const-string v0, "PrivacyTelephonyManager"
30785 + new-instance v1, Ljava/lang/StringBuilder;
30787 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30789 + const-string v2, "getIsimImpi - "
30791 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30793 + move-result-object v1
30795 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30797 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30799 + move-result-object v2
30801 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30803 + move-result-object v1
30805 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30807 + move-result-object v1
30809 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30811 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30813 + move-result-object v0
30818 +.method public getIsimImpu()[Ljava/lang/String;
30823 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30825 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30827 + move-result-object v1
30829 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30835 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30837 + move-result-object v6
30839 + const-string v0, "PrivacyTelephonyManager"
30841 + new-instance v3, Ljava/lang/StringBuilder;
30843 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30845 + const-string v4, "getIsimImpu() - "
30847 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30849 + move-result-object v3
30851 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30853 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30855 + move-result-object v4
30857 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30859 + move-result-object v3
30861 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30863 + move-result-object v3
30865 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30869 + new-array v7, v0, [Ljava/lang/String;
30871 + if-eqz v6, :cond_4f
30873 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30877 + if-eqz v0, :cond_4f
30879 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30881 + move-result-object v0
30883 + aput-object v0, v7, v8
30885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30887 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30891 + const-string/jumbo v4, "subscriberID"
30893 + aget-object v5, v7, v8
30895 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30901 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
30903 + move-result-object v7
30905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30907 + const-string/jumbo v4, "subscriberID"
30909 + aget-object v5, v7, v8
30913 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30918 +.method public getLine1AlphaTag()Ljava/lang/String;
30921 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getLine1Number()Ljava/lang/String;
30923 + move-result-object v0
30928 +.method public getLine1Number()Ljava/lang/String;
30931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30933 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30935 + move-result-object v1
30937 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30941 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30943 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30945 + move-result-object v6
30947 + if-eqz v6, :cond_28
30949 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30953 + if-eqz v0, :cond_28
30955 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30957 + move-result-object v5
30959 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30961 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30965 + const-string v4, "line1Number"
30967 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30973 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
30975 + move-result-object v5
30977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30981 + const-string v4, "line1Number"
30983 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30988 +.method public getMsisdn()Ljava/lang/String;
30991 + const-string v0, "PrivacyTelephonyManager"
30993 + new-instance v1, Ljava/lang/StringBuilder;
30995 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30997 + const-string v2, "getMsisdn() - "
30999 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31001 + move-result-object v1
31003 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31005 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31007 + move-result-object v2
31009 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31011 + move-result-object v1
31013 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31015 + move-result-object v1
31017 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
31019 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
31021 + move-result-object v0
31026 +.method public getNeighboringCellInfo()Ljava/util/List;
31028 + .annotation system Ldalvik/annotation/Signature;
31031 + "Ljava/util/List",
31033 + "Landroid/telephony/NeighboringCellInfo;",
31038 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31040 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31042 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31044 + move-result-object v7
31046 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31050 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31052 + move-result-object v5
31056 + const-string v4, "[null]"
31058 + if-eqz v5, :cond_1c
31060 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
31066 + if-ne v6, v7, :cond_1d
31073 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
31077 + if-eqz v6, :cond_2b
31079 + new-instance v3, Ljava/util/ArrayList;
31081 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
31083 + const-string v4, "[empty list of cells]"
31088 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
31090 + move-result-object v3
31092 + const-string v0, ""
31094 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
31096 + move-result-object v2
31099 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
31103 + if-eqz v6, :cond_5f
31105 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
31107 + move-result-object v1
31109 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
31111 + new-instance v6, Ljava/lang/StringBuilder;
31113 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
31115 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31117 + move-result-object v6
31119 + const-string v7, "\t"
31121 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31123 + move-result-object v6
31125 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
31127 + move-result-object v6
31129 + const-string v7, "\n"
31131 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31133 + move-result-object v6
31135 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31137 + move-result-object v0
31142 + new-instance v6, Ljava/lang/StringBuilder;
31144 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
31146 + const-string v7, "[real value]:\n"
31148 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31150 + move-result-object v6
31152 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31154 + move-result-object v6
31156 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31158 + move-result-object v4
31163 +.method public getNetworkCountryIso()Ljava/lang/String;
31166 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
31168 + move-result-object v0
31170 + if-nez v0, :cond_a
31172 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
31174 + move-result-object v0
31180 +.method public getNetworkOperator()Ljava/lang/String;
31183 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
31185 + move-result-object v0
31187 + if-nez v0, :cond_a
31189 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
31191 + move-result-object v0
31197 +.method public getNetworkOperatorName()Ljava/lang/String;
31200 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
31202 + move-result-object v0
31204 + if-nez v0, :cond_a
31206 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
31208 + move-result-object v0
31214 +.method public getNetworkType()I
31220 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
31222 + move-result-object v1
31224 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
31230 + if-nez v1, :cond_10
31232 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
31234 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_f} :catch_11
31243 + move-exception v0
31245 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
31252 +.method public getPhoneType()I
31255 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
31257 + move-result-object v0
31259 + sget-object v2, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
31265 + if-nez v0, :cond_f
31267 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getPhoneType()I
31275 +.method public getSimCountryIso()Ljava/lang/String;
31278 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
31280 + move-result-object v0
31282 + if-nez v0, :cond_a
31284 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
31286 + move-result-object v0
31292 +.method public getSimOperator()Ljava/lang/String;
31295 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
31297 + move-result-object v0
31299 + if-nez v0, :cond_a
31301 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
31303 + move-result-object v0
31309 +.method public getSimOperatorName()Ljava/lang/String;
31312 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
31314 + move-result-object v0
31316 + if-nez v0, :cond_a
31318 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
31320 + move-result-object v0
31326 +.method public getSimSerialNumber()Ljava/lang/String;
31329 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31331 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31333 + move-result-object v1
31335 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31341 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31343 + move-result-object v6
31345 + if-eqz v6, :cond_29
31347 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
31351 + if-eqz v0, :cond_29
31353 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
31355 + move-result-object v5
31357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31359 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
31363 + const-string/jumbo v4, "simSerial"
31365 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31371 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
31373 + move-result-object v5
31375 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31379 + const-string/jumbo v4, "simSerial"
31381 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31386 +.method public getSubscriberId()Ljava/lang/String;
31389 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31391 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31393 + move-result-object v1
31395 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31399 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31401 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31403 + move-result-object v6
31405 + const-string v0, "PrivacyTelephonyManager"
31407 + new-instance v3, Ljava/lang/StringBuilder;
31409 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
31411 + const-string v4, "getSubscriberId() - "
31413 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31415 + move-result-object v3
31417 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31419 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31421 + move-result-object v4
31423 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31425 + move-result-object v3
31427 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31429 + move-result-object v3
31431 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
31433 + if-eqz v6, :cond_47
31435 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
31439 + if-eqz v0, :cond_47
31441 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
31443 + move-result-object v5
31445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31447 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
31451 + const-string/jumbo v4, "subscriberID"
31453 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31459 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
31461 + move-result-object v5
31463 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31467 + const-string/jumbo v4, "subscriberID"
31469 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31474 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
31477 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
31479 + move-result-object v0
31484 +.method public getVoiceMailNumber()Ljava/lang/String;
31487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31489 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31491 + move-result-object v1
31493 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31497 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31499 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31501 + move-result-object v6
31503 + if-eqz v6, :cond_28
31505 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
31509 + if-eqz v0, :cond_28
31511 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
31513 + move-result-object v5
31515 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31517 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
31521 + const-string v4, "line1Number"
31523 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31529 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
31531 + move-result-object v5
31533 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31537 + const-string v4, "line1Number"
31539 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31544 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
31547 + and-int/lit8 v1, p2, 0x10
31549 + if-nez v1, :cond_8
31551 + and-int/lit8 v1, p2, 0x20
31553 + if-eqz v1, :cond_29
31556 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31558 + if-eqz v1, :cond_27
31560 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31562 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31564 + move-result-object v0
31567 + if-eqz v0, :cond_1c
31569 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
31571 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31573 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
31576 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31580 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setUid(I)V
31582 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
31593 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
31597 diff -Npruw stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali pdroid-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali
31598 --- stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 1969-12-31 18:00:00.000000000 -0600
31599 +++ pdroid-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 2013-08-15 23:20:07.968304776 -0500
31601 +.class public Landroid/privacy/surrogate/PrivacyWifiManager;
31602 +.super Landroid/net/wifi/WifiManager;
31603 +.source "PrivacyWifiManager.java"
31607 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyWifiManager"
31611 +.field private context:Landroid/content/Context;
31613 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
31617 +.method public constructor <init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
31620 + invoke-direct {p0, p1, p2}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
31622 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31624 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
31626 + const-string/jumbo v1, "privacy"
31628 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
31630 + move-result-object v1
31632 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
31634 + move-result-object v1
31636 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
31638 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31645 +.method public getConfigFile()Ljava/lang/String;
31652 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31654 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31656 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31658 + move-result-object v1
31660 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31664 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31666 + move-result-object v7
31668 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31670 + if-eqz v0, :cond_31
31672 + if-eqz v7, :cond_31
31674 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31678 + if-eqz v0, :cond_31
31680 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31682 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31684 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31686 + move-result-object v1
31690 + const-string/jumbo v4, "wifiInfo"
31692 + move-object v6, v5
31694 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31696 + const-string v0, ""
31702 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31704 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31706 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31708 + move-result-object v1
31712 + const-string/jumbo v4, "wifiInfo"
31714 + move-object v6, v5
31716 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31718 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfigFile()Ljava/lang/String;
31720 + move-result-object v0
31725 +.method public getConfiguredNetworks()Ljava/util/List;
31727 + .annotation system Ldalvik/annotation/Signature;
31730 + "Ljava/util/List",
31732 + "Landroid/net/wifi/WifiConfiguration;",
31741 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31743 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31745 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31747 + move-result-object v1
31749 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31753 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31755 + move-result-object v8
31757 + new-instance v7, Ljava/util/ArrayList;
31759 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31761 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31763 + if-eqz v0, :cond_34
31765 + if-eqz v8, :cond_34
31767 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31771 + if-eqz v0, :cond_34
31773 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31775 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31777 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31779 + move-result-object v1
31783 + const-string/jumbo v4, "wifiInfo"
31785 + move-object v6, v5
31787 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31793 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31795 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31797 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31799 + move-result-object v1
31803 + const-string/jumbo v4, "wifiInfo"
31805 + move-object v6, v5
31807 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31809 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
31811 + move-result-object v7
31816 +.method public getConnectionInfo()Landroid/net/wifi/WifiInfo;
31825 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31827 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31829 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31831 + move-result-object v1
31833 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31837 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31839 + move-result-object v8
31841 + new-instance v7, Landroid/net/wifi/WifiInfo;
31843 + invoke-direct {v7, v3}, Landroid/net/wifi/WifiInfo;-><init>(Z)V
31845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31847 + if-eqz v0, :cond_34
31849 + if-eqz v8, :cond_34
31851 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31855 + if-eqz v0, :cond_34
31857 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31859 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31861 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31863 + move-result-object v1
31865 + const-string/jumbo v4, "wifiInfo"
31867 + move-object v6, v5
31869 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31875 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31877 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31879 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31881 + move-result-object v1
31885 + const-string/jumbo v4, "wifiInfo"
31887 + move-object v6, v5
31889 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31891 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
31893 + move-result-object v7
31898 +.method public getDhcpInfo()Landroid/net/DhcpInfo;
31905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31907 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31909 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31911 + move-result-object v1
31913 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31917 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31919 + move-result-object v7
31921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31923 + if-eqz v0, :cond_34
31925 + if-eqz v7, :cond_34
31927 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31931 + if-eqz v0, :cond_34
31933 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31935 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31937 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31939 + move-result-object v1
31943 + const-string/jumbo v4, "wifiInfo"
31945 + move-object v6, v5
31947 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31949 + new-instance v0, Landroid/net/DhcpInfo;
31951 + invoke-direct {v0}, Landroid/net/DhcpInfo;-><init>()V
31957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31959 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31961 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31963 + move-result-object v1
31967 + const-string/jumbo v4, "wifiInfo"
31969 + move-object v6, v5
31971 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31973 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
31975 + move-result-object v0
31980 +.method public getFrequencyBand()I
31987 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31989 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31991 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31993 + move-result-object v1
31995 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31999 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32001 + move-result-object v7
32003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32005 + if-eqz v0, :cond_2f
32007 + if-eqz v7, :cond_2f
32009 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32013 + if-eqz v0, :cond_2f
32015 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32017 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32019 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32021 + move-result-object v1
32025 + const-string/jumbo v4, "wifiInfo"
32027 + move-object v6, v5
32029 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32035 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32037 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32039 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32041 + move-result-object v1
32045 + const-string/jumbo v4, "wifiInfo"
32047 + move-object v6, v5
32049 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32051 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getFrequencyBand()I
32058 +.method public getScanResults()Ljava/util/List;
32060 + .annotation system Ldalvik/annotation/Signature;
32063 + "Ljava/util/List",
32065 + "Landroid/net/wifi/ScanResult;",
32074 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32076 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32078 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32080 + move-result-object v1
32082 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32086 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32088 + move-result-object v8
32090 + new-instance v7, Ljava/util/ArrayList;
32092 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
32094 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32096 + if-eqz v0, :cond_34
32098 + if-eqz v8, :cond_34
32100 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32104 + if-eqz v0, :cond_34
32106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32108 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32110 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32112 + move-result-object v1
32116 + const-string/jumbo v4, "wifiInfo"
32118 + move-object v6, v5
32120 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32128 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32130 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32132 + move-result-object v1
32136 + const-string/jumbo v4, "wifiInfo"
32138 + move-object v6, v5
32140 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32142 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
32144 + move-result-object v7
32149 +.method public getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
32156 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32158 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32160 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32162 + move-result-object v1
32164 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32168 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32170 + move-result-object v7
32172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32174 + if-eqz v0, :cond_34
32176 + if-eqz v7, :cond_34
32178 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32182 + if-eqz v0, :cond_34
32184 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32186 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32188 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32190 + move-result-object v1
32194 + const-string/jumbo v4, "wifiInfo"
32196 + move-object v6, v5
32198 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32200 + new-instance v0, Landroid/net/wifi/WifiConfiguration;
32202 + invoke-direct {v0}, Landroid/net/wifi/WifiConfiguration;-><init>()V
32208 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32210 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32212 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32214 + move-result-object v1
32218 + const-string/jumbo v4, "wifiInfo"
32220 + move-object v6, v5
32222 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32224 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
32226 + move-result-object v0
32231 +.method public getWifiState()I
32240 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32242 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32244 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32246 + move-result-object v1
32248 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32252 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32254 + move-result-object v7
32256 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32258 + if-eqz v0, :cond_30
32260 + if-eqz v7, :cond_30
32262 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
32266 + if-nez v0, :cond_30
32268 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32270 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32272 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32274 + move-result-object v1
32276 + const-string/jumbo v4, "wifiInfo"
32278 + move-object v6, v5
32280 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32288 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32290 + if-eqz v0, :cond_4d
32292 + if-eqz v7, :cond_4d
32294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32298 + if-eqz v0, :cond_4d
32300 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32302 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32304 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32306 + move-result-object v1
32308 + const-string/jumbo v4, "wifiInfo"
32310 + move-object v6, v5
32312 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32319 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32321 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32323 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32325 + move-result-object v1
32329 + const-string/jumbo v4, "wifiInfo"
32331 + move-object v6, v5
32333 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32335 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiState()I
32342 +.method public isWifiEnabled()Z
32353 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32355 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32357 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32359 + move-result-object v1
32361 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32365 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32367 + move-result-object v7
32369 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32371 + if-eqz v0, :cond_30
32373 + if-eqz v7, :cond_30
32375 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
32379 + if-nez v0, :cond_30
32381 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32383 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32385 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32387 + move-result-object v1
32389 + const-string/jumbo v4, "wifiInfo"
32391 + move-object v6, v5
32393 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32399 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32401 + if-eqz v0, :cond_4d
32403 + if-eqz v7, :cond_4d
32405 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32409 + if-eqz v0, :cond_4d
32411 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32413 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32415 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32417 + move-result-object v1
32419 + const-string/jumbo v4, "wifiInfo"
32421 + move-object v6, v5
32423 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32430 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32432 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32434 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32436 + move-result-object v1
32438 + const-string/jumbo v4, "wifiInfo"
32442 + move-object v6, v5
32444 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32446 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->isWifiEnabled()Z
32453 +.method public setWifiEnabled(Z)Z
32462 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32464 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32466 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32468 + move-result-object v1
32470 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32474 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32476 + move-result-object v7
32478 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32480 + if-eqz v0, :cond_31
32482 + if-eqz v7, :cond_31
32484 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
32488 + if-eqz v0, :cond_31
32490 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32492 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32494 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32496 + move-result-object v1
32500 + const-string/jumbo v4, "switchWifiState"
32502 + move-object v6, v5
32504 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32512 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32514 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32516 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32518 + move-result-object v1
32520 + const-string/jumbo v4, "switchWifiState"
32524 + move-object v6, v5
32526 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32528 + invoke-super {p0, p1}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
32535 +.method public startScan()Z
32544 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32546 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32548 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32550 + move-result-object v1
32552 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32556 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32558 + move-result-object v7
32560 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32562 + if-eqz v0, :cond_31
32564 + if-eqz v7, :cond_31
32566 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32570 + if-eqz v0, :cond_31
32572 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32574 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32576 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32578 + move-result-object v1
32582 + const-string/jumbo v4, "wifiInfo"
32584 + move-object v6, v5
32586 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32594 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32596 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32598 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32600 + move-result-object v1
32602 + const-string/jumbo v4, "wifiInfo"
32606 + move-object v6, v5
32608 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32610 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScan()Z
32616 diff -Npruw stock-framework/smali/android/provider/Settings$Secure.smali pdroid-framework/smali/android/provider/Settings$Secure.smali
32617 --- stock-framework/smali/android/provider/Settings$Secure.smali 2013-08-15 23:20:17.088304506 -0500
32618 +++ pdroid-framework/smali/android/provider/Settings$Secure.smali 2013-08-15 23:20:08.028304774 -0500
32619 @@ -223,6 +223,8 @@
32621 .field public static final PRIVACY_GUARD_DEFAULT:Ljava/lang/String; = "privacy_guard_default"
32623 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,SecureSettings"
32625 .field public static final RING_HOME_BUTTON_BEHAVIOR:Ljava/lang/String; = "ring_home_button_behavior"
32627 .field public static final RING_HOME_BUTTON_BEHAVIOR_ANSWER:I = 0x2
32628 @@ -448,6 +450,14 @@
32630 .field public static final WIMAX_ON:Ljava/lang/String; = "wimax_on"
32632 +.field private static context:Landroid/content/Context;
32634 +.field private static mPm:Landroid/content/pm/IPackageManager;
32636 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
32638 +.field private static privacyMode:Z
32640 .field private static sIsSystemProcess:Z
32642 .field private static sLockSettings:Lcom/android/internal/widget/ILockSettings;
32643 @@ -457,9 +467,11 @@
32646 .method static constructor <clinit>()V
32655 const-string v0, "content://settings/secure"
32657 @@ -489,7 +501,7 @@
32659 new-instance v0, Ljava/util/HashSet;
32661 - invoke-direct {v0, v5}, Ljava/util/HashSet;-><init>(I)V
32662 + invoke-direct {v0, v6}, Ljava/util/HashSet;-><init>(I)V
32664 sput-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32666 @@ -1219,15 +1231,15 @@
32668 invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
32670 + sput-boolean v5, Landroid/provider/Settings$Secure;->privacyMode:Z
32674 new-array v0, v0, [Ljava/lang/String;
32678 - const-string v2, "bugreport_in_power_menu"
32679 + const-string v1, "bugreport_in_power_menu"
32681 - aput-object v2, v0, v1
32682 + aput-object v1, v0, v5
32686 @@ -1243,7 +1255,7 @@
32688 const-string/jumbo v1, "parental_control_redirect_url"
32690 - aput-object v1, v0, v5
32691 + aput-object v1, v0, v6
32695 @@ -1772,6 +1784,70 @@
32699 +.method private static getPackageName()[Ljava/lang/String;
32703 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32705 + if-eqz v3, :cond_f
32707 + invoke-static {}, Landroid/os/Process;->myUid()I
32711 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32713 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32715 + move-result-object v1
32721 + const-string/jumbo v3, "package"
32723 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32725 + move-result-object v3
32727 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32729 + move-result-object v3
32731 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32733 + invoke-static {}, Landroid/os/Process;->myUid()I
32737 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32739 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32741 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
32743 + move-result-object v1
32748 + move-exception v0
32750 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32752 + const-string v3, "PM,SecureSettings"
32754 + const-string/jumbo v4, "something went wrong with getting package name"
32756 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32763 .method public static getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
32766 @@ -1787,152 +1863,392 @@
32769 .method public static getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32773 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32774 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32776 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32777 + move-object/from16 v0, p1
32780 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32782 - if-eqz v0, :cond_31
32785 - const-string v0, "Settings"
32786 + if-eqz v3, :cond_35
32788 - new-instance v1, Ljava/lang/StringBuilder;
32789 + const-string v3, "Settings"
32791 - invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32792 + new-instance v4, Ljava/lang/StringBuilder;
32794 - const-string v2, "Setting "
32795 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
32797 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32798 + const-string v5, "Setting "
32800 - move-result-object v1
32801 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32803 - invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32804 + move-result-object v4
32806 - move-result-object v1
32807 + move-object/from16 v0, p1
32809 - const-string v2, " has moved from android.provider.Settings.Secure"
32810 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32812 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32813 + move-result-object v4
32815 - move-result-object v1
32816 + const-string v5, " has moved from android.provider.Settings.Secure"
32818 - const-string v2, " to android.provider.Settings.Global."
32819 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32821 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32822 + move-result-object v4
32824 - move-result-object v1
32825 + const-string v5, " to android.provider.Settings.Global."
32827 - invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32828 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32830 - move-result-object v1
32831 + move-result-object v4
32833 - invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32834 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32836 - invoke-static {p0, p1, p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32837 + move-result-object v4
32839 - move-result-object v0
32840 + invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32844 + invoke-static/range {p0 .. p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32847 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32848 + move-result-object v8
32850 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32856 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32858 - if-eqz v0, :cond_6f
32859 + move-object/from16 v0, p1
32861 - const-class v1, Landroid/provider/Settings$Secure;
32862 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32868 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32869 + if-eqz v3, :cond_79
32871 - if-nez v0, :cond_57
32872 + const-class v4, Landroid/provider/Settings$Secure;
32874 - const-string v0, "lock_settings"
32877 - invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32879 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32881 - move-result-object v0
32882 + if-nez v3, :cond_5d
32884 - invoke-static {v0}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32885 + const-string v3, "lock_settings"
32887 - move-result-object v0
32888 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32890 - sput-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32891 + move-result-object v3
32893 + invoke-static {v3}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32895 + move-result-object v3
32897 + sput-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32899 invoke-static {}, Landroid/os/Process;->myUid()I
32904 - const/16 v2, 0x3e8
32905 + const/16 v5, 0x3e8
32907 - if-ne v0, v2, :cond_69
32908 + if-ne v3, v5, :cond_73
32914 - sput-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32916 + sput-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32921 - .catchall {:try_start_3c .. :try_end_58} :catchall_6b
32925 + .catchall {:try_start_42 .. :try_end_5e} :catchall_75
32927 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32928 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32930 - if-eqz v0, :cond_6f
32931 + if-eqz v3, :cond_79
32933 - sget-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32934 + sget-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32936 - if-nez v0, :cond_6f
32937 + if-nez v3, :cond_79
32940 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32942 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32944 - const-string v1, "0"
32945 + const-string v4, "0"
32947 - invoke-interface {v0, p1, v1, p2}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32949 - .catch Landroid/os/RemoteException; {:try_start_60 .. :try_end_67} :catch_6e
32950 + move-object/from16 v0, p1
32952 - move-result-object v0
32953 + move/from16 v1, p2
32956 + invoke-interface {v3, v0, v4, v1}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32958 + .catch Landroid/os/RemoteException; {:try_start_66 .. :try_end_71} :catch_78
32962 + move-result-object v8
32968 - move-exception v0
32975 - .catchall {:try_start_6c .. :try_end_6d} :catchall_6b
32980 + move-exception v3
32983 - move-exception v0
32987 + .catchall {:try_start_76 .. :try_end_77} :catchall_75
32990 - sget-object v0, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32993 - invoke-virtual {v0, p0, p1, p2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32995 + move-exception v3
32997 - move-result-object v0
32999 + const-string v3, "android_id"
33001 + move-object/from16 v0, p1
33003 + invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
33007 + if-eqz v3, :cond_f7
33009 + invoke-static {}, Landroid/provider/Settings$Secure;->initiate()V
33012 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33014 + if-nez v3, :cond_9e
33016 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
33018 + sget-object v4, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
33020 + const-string/jumbo v5, "privacy"
33022 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33024 + move-result-object v5
33026 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
33028 + move-result-object v5
33030 + invoke-direct {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
33032 + sput-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33035 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
33037 + if-nez v3, :cond_af
33039 + const-string/jumbo v3, "package"
33041 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33043 + move-result-object v3
33045 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33047 + move-result-object v3
33049 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
33052 + const/16 v19, 0x0
33054 + invoke-static {}, Landroid/provider/Settings$Secure;->getPackageName()[Ljava/lang/String;
33056 + move-result-object v18
33058 + if-eqz v18, :cond_13c
33060 + move-object/from16 v0, v18
33062 + array-length v3, v0
33064 + if-lez v3, :cond_13c
33067 + const/16 v17, 0x0
33070 + move-object/from16 v0, v18
33072 + array-length v3, v0
33074 + move/from16 v0, v17
33076 + if-ge v0, v3, :cond_f7
33078 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33080 + aget-object v4, v18, v17
33082 + invoke-virtual {v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
33084 + move-result-object v19
33086 + if-eqz v19, :cond_11c
33088 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
33092 + if-eqz v3, :cond_11c
33094 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
33096 + move-result-object v8
33098 + if-eqz v8, :cond_105
33100 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33102 + aget-object v4, v18, v17
33106 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
33110 + const-string v7, "android_id"
33114 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33116 + .catch Ljava/lang/Exception; {:try_start_86 .. :try_end_ea} :catch_ec
33121 + move-exception v16
33123 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Exception;->printStackTrace()V
33125 + const-string v3, "PM,SecureSettings"
33127 + const-string v4, "Got exception in getString()"
33129 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33133 + sget-object v3, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
33135 + move-object/from16 v0, p0
33137 + move-object/from16 v1, p1
33139 + move/from16 v2, p2
33141 + invoke-virtual {v3, v0, v1, v2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
33143 + move-result-object v8
33149 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33151 + aget-object v10, v18, v17
33155 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
33159 + const-string v13, "android_id"
33161 + const-string/jumbo v14, "q4a5w896ay21dr46"
33165 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33167 + const-string/jumbo v8, "q4a5w896ay21dr46"
33172 + move-object/from16 v0, v18
33174 + array-length v3, v0
33176 + add-int/lit8 v3, v3, -0x1
33178 + move/from16 v0, v17
33180 + if-ne v0, v3, :cond_137
33182 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33184 + move-object/from16 v0, v18
33186 + array-length v3, v0
33188 + add-int/lit8 v3, v3, -0x1
33190 + aget-object v10, v18, v3
33196 + const-string v13, "android_id"
33202 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33205 + const/16 v19, 0x0
33207 + add-int/lit8 v17, v17, 0x1
33212 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33214 + move-object/from16 v0, v18
33216 + array-length v3, v0
33218 + add-int/lit8 v3, v3, -0x1
33220 + aget-object v10, v18, v3
33226 + const-string v13, "android_id"
33232 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33234 + .catch Ljava/lang/Exception; {:try_start_105 .. :try_end_14e} :catch_ec
33239 .method public static getUriFor(Ljava/lang/String;)Landroid/net/Uri;
33240 @@ -1999,6 +2315,71 @@
33244 +.method private static initiate()V
33250 + sput-object v1, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
33252 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
33254 + sget-object v2, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
33256 + const-string/jumbo v3, "privacy"
33258 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33260 + move-result-object v3
33262 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
33264 + move-result-object v3
33266 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
33268 + sput-object v1, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33270 + const-string/jumbo v1, "package"
33272 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33274 + move-result-object v1
33276 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33278 + move-result-object v1
33280 + sput-object v1, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
33284 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
33286 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
33292 + move-exception v0
33294 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33296 + const-string v1, "PM,SecureSettings"
33298 + const-string v2, "Something went wrong with initalize variables"
33300 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33304 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
33309 .method public static final isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
33312 diff -Npruw stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali pdroid-framework/smali/android/speech/srec/MicrophoneInputStream.smali
33313 --- stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-08-15 23:20:17.184304503 -0500
33314 +++ pdroid-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-08-15 23:20:08.156304770 -0500
33319 +.field private static final GOT_ERROR:I = -0x3
33321 +.field private static final IS_ALLOWED:I = -0x1
33323 +.field private static final IS_NOT_ALLOWED:I = -0x2
33325 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MicrophoneInputStream"
33327 .field private static final TAG:Ljava/lang/String; = "MicrophoneInputStream"
33331 +.field private context:Landroid/content/Context;
33333 .field private mAudioRecord:I
33335 .field private mOneByte:[B
33337 +.field private mPm:Landroid/content/pm/IPackageManager;
33339 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
33341 +.field private privacyMode:Z
33345 .method static constructor <clinit>()V
33346 @@ -25,79 +41,167 @@
33349 .method public constructor <init>(II)V
33352 .annotation system Ldalvik/annotation/Throws;
33354 Ljava/io/IOException;
33364 invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
33367 + iput-boolean v2, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33369 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33370 + iput v2, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33373 + new-array v0, v3, [B
33375 - new-array v1, v1, [B
33376 + iput-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
33378 - iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
33379 + iget-boolean v0, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33381 - invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
33382 + if-nez v0, :cond_15
33384 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->initiate()V
33387 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->checkIfPackagesAllowed()I
33393 + if-ne v0, v1, :cond_43
33395 + invoke-direct {p0, v2}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
33397 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33399 + move-result-object v7
33401 + if-eqz v7, :cond_3b
33403 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33405 + aget-object v1, v7, v2
33407 + const-string/jumbo v4, "recordAudio"
33410 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33412 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33413 + aget-object v9, v7, v2
33415 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33416 + invoke-static {}, Landroid/os/Process;->myUid()I
33418 - if-nez v1, :cond_1d
33421 - new-instance v1, Ljava/io/IOException;
33422 + invoke-virtual {v6, v9, v10}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33424 - const-string v2, "AudioRecord constructor failed - busy?"
33425 + move-result-object v6
33427 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33428 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33432 + new-instance v0, Ljava/io/IOException;
33435 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33436 + const-string v1, "AudioRecord constructor failed - busy?"
33438 - invoke-static {v1}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
33439 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33444 + invoke-direct {p0, v3}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
33446 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33448 + move-result-object v7
33450 + if-eqz v7, :cond_63
33452 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33454 + aget-object v1, v7, v2
33456 + const-string/jumbo v4, "recordAudio"
33458 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33460 + aget-object v6, v7, v2
33462 + invoke-static {}, Landroid/os/Process;->myUid()I
33466 + invoke-virtual {v3, v6, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33468 + move-result-object v6
33472 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33475 + invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
33479 - if-eqz v0, :cond_41
33480 + iput v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33482 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33484 + if-nez v0, :cond_75
33486 + new-instance v0, Ljava/io/IOException;
33488 + const-string v1, "AudioRecord constructor failed - busy?"
33490 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33495 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33497 + invoke-static {v0}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
33501 + if-eqz v8, :cond_99
33503 invoke-virtual {p0}, Landroid/speech/srec/MicrophoneInputStream;->close()V
33505 - new-instance v1, Ljava/io/IOException;
33506 + new-instance v0, Ljava/io/IOException;
33508 - new-instance v2, Ljava/lang/StringBuilder;
33509 + new-instance v1, Ljava/lang/StringBuilder;
33511 - invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
33512 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33514 - const-string v3, "AudioRecord start failed: "
33515 + const-string v2, "AudioRecord start failed: "
33517 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33518 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33520 - move-result-object v2
33521 + move-result-object v1
33523 - invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33524 + invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33526 - move-result-object v2
33527 + move-result-object v1
33529 - invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33530 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33532 - move-result-object v2
33533 + move-result-object v1
33535 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33536 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33546 @@ -131,6 +235,334 @@
33550 +.method private checkIfPackagesAllowed()I
33556 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33558 + if-eqz v6, :cond_41
33562 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33564 + move-result-object v3
33566 + invoke-static {}, Landroid/os/Process;->myUid()I
33570 + if-eqz v3, :cond_2c
33575 + array-length v6, v3
33577 + if-ge v1, v6, :cond_2a
33579 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33581 + aget-object v7, v3, v1
33583 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33585 + move-result-object v2
33587 + if-eqz v2, :cond_26
33589 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
33593 + if-eqz v6, :cond_26
33603 + add-int/lit8 v1, v1, 0x1
33613 + const-string v6, "PM,MicrophoneInputStream"
33615 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
33617 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33619 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
33624 + move-exception v0
33626 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33628 + const-string v6, "PM,MicrophoneInputStream"
33630 + const-string v7, "Got exception in checkIfPackagesAllowed"
33632 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33638 + const-string v6, "PM,MicrophoneInputStream"
33640 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
33642 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33644 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
33649 +.method private dataAccess(Z)V
33652 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33654 + move-result-object v1
33656 + if-eqz p1, :cond_2f
33658 + if-eqz v1, :cond_2f
33663 + array-length v2, v1
33665 + if-ge v0, v2, :cond_58
33667 + const-string v2, "PM,MicrophoneInputStream"
33669 + new-instance v3, Ljava/lang/StringBuilder;
33671 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33673 + const-string v4, "Allowed Package: -"
33675 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33677 + move-result-object v3
33679 + aget-object v4, v1, v0
33681 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33683 + move-result-object v3
33685 + const-string v4, "- accessing microphone."
33687 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33689 + move-result-object v3
33691 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33693 + move-result-object v3
33695 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33697 + add-int/lit8 v0, v0, 0x1
33702 + if-eqz v1, :cond_58
33707 + array-length v2, v1
33709 + if-ge v0, v2, :cond_58
33711 + const-string v2, "PM,MicrophoneInputStream"
33713 + new-instance v3, Ljava/lang/StringBuilder;
33715 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33717 + const-string v4, "Blocked Package: -"
33719 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33721 + move-result-object v3
33723 + aget-object v4, v1, v0
33725 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33727 + move-result-object v3
33729 + const-string v4, "- accessing microphone."
33731 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33733 + move-result-object v3
33735 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33737 + move-result-object v3
33739 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33741 + add-int/lit8 v0, v0, 0x1
33749 +.method private getPackageName()[Ljava/lang/String;
33753 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33755 + if-eqz v3, :cond_f
33757 + invoke-static {}, Landroid/os/Process;->myUid()I
33761 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33763 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33765 + move-result-object v1
33771 + const-string/jumbo v3, "package"
33773 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33775 + move-result-object v3
33777 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33779 + move-result-object v3
33781 + iput-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33783 + invoke-static {}, Landroid/os/Process;->myUid()I
33787 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33789 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33791 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
33793 + move-result-object v1
33798 + move-exception v0
33800 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33802 + const-string v3, "PM,MicrophoneInputStream"
33804 + const-string/jumbo v4, "something went wrong with getting package name"
33806 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33813 +.method private initiate()V
33819 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33821 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
33823 + iget-object v2, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33825 + const-string/jumbo v3, "privacy"
33827 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33829 + move-result-object v3
33831 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
33833 + move-result-object v3
33835 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
33837 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33839 + const-string/jumbo v1, "package"
33841 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33843 + move-result-object v1
33845 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33847 + move-result-object v1
33849 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33853 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33855 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
33861 + move-exception v0
33863 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33865 + const-string v1, "PM,MicrophoneInputStream"
33867 + const-string v2, "Something went wrong with initalize variables"
33869 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33873 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33880 .method public close()V
33881 diff -Npruw stock-framework/smali/android/telephony/PhoneStateListener$1.smali pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali
33882 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-08-15 23:20:17.224304502 -0500
33883 +++ pdroid-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-08-15 23:20:08.200304769 -0500
33884 @@ -64,23 +64,196 @@
33887 .method public onCallStateChanged(ILjava/lang/String;)V
33891 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33892 + move-object/from16 v0, p0
33894 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33895 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33897 - const/16 v1, 0x20
33898 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33899 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33902 + move-result-object v3
33904 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33905 + if-eqz v3, :cond_99
33907 - move-result-object v0
33908 + if-eqz p2, :cond_99
33910 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
33911 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
33915 + if-nez v3, :cond_99
33917 + move-object/from16 v0, p0
33919 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33921 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33922 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33924 + move-result-object v3
33926 + const-string/jumbo v4, "privacy"
33928 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33930 + move-result-object v2
33932 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
33934 + move-object/from16 v0, p0
33936 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33938 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33939 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33941 + move-result-object v3
33943 + move-object/from16 v0, p0
33945 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33947 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33948 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33952 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33954 + move-result-object v8
33956 + if-eqz v8, :cond_6a
33958 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
33962 + if-eqz v3, :cond_6a
33964 + const-string v7, ""
33966 + move-object/from16 v0, p0
33968 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33970 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33972 + const/16 v4, 0x20
33976 + move/from16 v0, p1
33978 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33980 + move-result-object v3
33982 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33984 + move-object/from16 v0, p0
33986 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33988 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33989 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33991 + move-result-object v3
33993 + move-object/from16 v0, p0
33995 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33997 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33998 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
34004 + const-string v6, "incomingCall"
34006 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34012 + move-object/from16 v0, p0
34014 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34016 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
34018 + const/16 v4, 0x20
34022 + move/from16 v0, p1
34024 + move-object/from16 v1, p2
34026 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
34028 + move-result-object v3
34030 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
34032 + move-object/from16 v0, p0
34034 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34036 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
34037 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
34039 + move-result-object v10
34041 + move-object/from16 v0, p0
34043 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34045 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
34046 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
34052 + const-string v13, "incomingCall"
34054 + move-object v9, v2
34056 + move-object/from16 v14, p2
34058 + move-object v15, v8
34060 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34065 + move-object/from16 v0, p0
34067 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34069 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
34071 + const/16 v4, 0x20
34075 + move/from16 v0, p1
34077 + move-object/from16 v1, p2
34079 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
34081 + move-result-object v3
34083 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
34088 .method public onCellInfoChanged(Ljava/util/List;)V
34089 @@ -113,27 +286,124 @@
34092 .method public onCellLocationChanged(Landroid/os/Bundle;)V
34100 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
34102 + move-result-object v7
34104 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34106 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
34107 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
34109 + move-result-object v1
34111 + if-eqz v1, :cond_4a
34113 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34115 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
34116 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
34118 + move-result-object v1
34120 + const-string/jumbo v2, "privacy"
34122 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
34124 move-result-object v0
34126 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
34128 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34130 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
34131 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
34133 + move-result-object v1
34135 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34137 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
34138 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
34142 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34144 + move-result-object v6
34146 + if-eqz v6, :cond_4b
34148 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
34152 + if-eqz v1, :cond_4b
34154 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34156 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
34157 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
34159 + move-result-object v1
34161 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34163 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
34164 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
34168 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
34172 + const-string v4, "locationNetwork"
34174 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34181 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34183 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
34187 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
34188 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
34190 move-result-object v1
34192 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
34195 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34197 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
34198 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
34200 + move-result-object v1
34202 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
34204 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
34205 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
34209 + const-string v4, "locationNetwork"
34211 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34216 .method public onDataActivity(I)V
34217 diff -Npruw stock-framework/smali/android/telephony/PhoneStateListener.smali pdroid-framework/smali/android/telephony/PhoneStateListener.smali
34218 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2013-08-15 23:20:16.408304526 -0500
34219 +++ pdroid-framework/smali/android/telephony/PhoneStateListener.smali 2013-08-15 23:20:07.316304795 -0500
34220 @@ -31,12 +31,20 @@
34222 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
34224 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
34228 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
34230 +.field private context:Landroid/content/Context;
34232 .field mHandler:Landroid/os/Handler;
34234 +.field private packageName:Ljava/lang/String;
34236 +.field private uid:I
34240 .method public constructor <init>()V
34245 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
34248 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
34253 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
34256 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
34261 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
34264 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
34271 .method public onCallForwardingIndicatorChanged(Z)V
34272 @@ -143,3 +175,27 @@
34277 +.method public setContext(Landroid/content/Context;)V
34280 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
34285 +.method public setPackageName(Ljava/lang/String;)V
34288 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
34293 +.method public setUid(I)V
34296 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
34300 diff -Npruw stock-framework/smali/android/telephony/ServiceState.smali pdroid-framework/smali/android/telephony/ServiceState.smali
34301 --- stock-framework/smali/android/telephony/ServiceState.smali 2013-08-15 23:20:17.224304502 -0500
34302 +++ pdroid-framework/smali/android/telephony/ServiceState.smali 2013-08-15 23:20:08.204304769 -0500
34303 @@ -875,74 +875,6 @@
34307 -.method private setNullState(I)V
34316 - const-string v0, "PHONE"
34318 - new-instance v1, Ljava/lang/StringBuilder;
34320 - invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34322 - const-string v2, "[ServiceState] setNullState="
34324 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34326 - move-result-object v1
34328 - invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
34330 - move-result-object v1
34332 - invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34334 - move-result-object v1
34336 - invoke-static {v0, v1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
34338 - iput p1, p0, Landroid/telephony/ServiceState;->mVoiceRegState:I
34340 - iput p1, p0, Landroid/telephony/ServiceState;->mDataRegState:I
34342 - iput-boolean v4, p0, Landroid/telephony/ServiceState;->mRoaming:Z
34344 - iput-object v5, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
34346 - iput-object v5, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
34348 - iput-object v5, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
34350 - iput-boolean v4, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
34352 - iput v4, p0, Landroid/telephony/ServiceState;->mRilVoiceRadioTechnology:I
34354 - iput v4, p0, Landroid/telephony/ServiceState;->mRilDataRadioTechnology:I
34356 - iput-boolean v4, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
34358 - iput v3, p0, Landroid/telephony/ServiceState;->mNetworkId:I
34360 - iput v3, p0, Landroid/telephony/ServiceState;->mSystemId:I
34362 - iput v3, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
34364 - iput v3, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
34366 - iput v3, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
34368 - iput v3, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
34370 - iput-boolean v4, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
34377 .method protected copyFrom(Landroid/telephony/ServiceState;)V
34378 @@ -1798,6 +1730,74 @@
34382 +.method setNullState(I)V
34391 + const-string v0, "PHONE"
34393 + new-instance v1, Ljava/lang/StringBuilder;
34395 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34397 + const-string v2, "[ServiceState] setNullState="
34399 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34401 + move-result-object v1
34403 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
34405 + move-result-object v1
34407 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34409 + move-result-object v1
34411 + invoke-static {v0, v1}, Landroid/telephony/Rlog;->d(Ljava/lang/String;Ljava/lang/String;)I
34413 + iput p1, p0, Landroid/telephony/ServiceState;->mVoiceRegState:I
34415 + iput p1, p0, Landroid/telephony/ServiceState;->mDataRegState:I
34417 + iput-boolean v4, p0, Landroid/telephony/ServiceState;->mRoaming:Z
34419 + iput-object v5, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
34421 + iput-object v5, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
34423 + iput-object v5, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
34425 + iput-boolean v4, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
34427 + iput v4, p0, Landroid/telephony/ServiceState;->mRilVoiceRadioTechnology:I
34429 + iput v4, p0, Landroid/telephony/ServiceState;->mRilDataRadioTechnology:I
34431 + iput-boolean v4, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
34433 + iput v3, p0, Landroid/telephony/ServiceState;->mNetworkId:I
34435 + iput v3, p0, Landroid/telephony/ServiceState;->mSystemId:I
34437 + iput v3, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
34439 + iput v3, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
34441 + iput v3, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
34443 + iput v3, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
34445 + iput-boolean v4, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
34450 .method public setOperatorAlphaLong(Ljava/lang/String;)V
34453 @@ -1885,7 +1885,7 @@
34457 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34458 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34462 @@ -1895,7 +1895,7 @@
34466 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34467 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34471 diff -Npruw stock-framework/smali/android/view/SurfaceControl.smali pdroid-framework/smali/android/view/SurfaceControl.smali
34472 --- stock-framework/smali/android/view/SurfaceControl.smali 2013-08-15 23:20:17.424304496 -0500
34473 +++ pdroid-framework/smali/android/view/SurfaceControl.smali 2013-08-15 23:20:08.356304764 -0500
34474 @@ -216,17 +216,17 @@
34476 iget v0, p0, Landroid/view/SurfaceControl;->mNativeObject:I
34478 - if-nez v0, :cond_c
34479 + if-nez v0, :cond_d
34481 new-instance v0, Ljava/lang/NullPointerException;
34483 - const-string v1, "mNativeObject is null. Have you called release() already?"
34484 + const-string/jumbo v1, "mNativeObject is null. Have you called release() already?"
34486 invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
34495 diff -Npruw stock-framework/smali/android/view/View.smali pdroid-framework/smali/android/view/View.smali
34496 --- stock-framework/smali/android/view/View.smali 2013-08-15 23:20:15.480304554 -0500
34497 +++ pdroid-framework/smali/android/view/View.smali 2013-08-15 23:20:06.260304826 -0500
34498 @@ -9478,7 +9478,7 @@
34500 move-result-object v3
34502 - const-string v4, "mMeasureWidth="
34503 + const-string/jumbo v4, "mMeasureWidth="
34505 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34507 @@ -9516,7 +9516,7 @@
34509 iget-object v3, p0, Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams;
34511 - if-nez v3, :cond_22d
34512 + if-nez v3, :cond_22e
34514 new-instance v3, Ljava/lang/StringBuilder;
34516 @@ -9536,7 +9536,7 @@
34518 move-result-object v1
34522 const-string v3, "View"
34524 invoke-static {v3, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
34525 @@ -9675,14 +9675,14 @@
34531 iget-object v3, p0, Landroid/view/View;->mLayoutParams:Landroid/view/ViewGroup$LayoutParams;
34533 invoke-virtual {v3, v1}, Landroid/view/ViewGroup$LayoutParams;->debug(Ljava/lang/String;)Ljava/lang/String;
34535 move-result-object v1
34537 - goto/16 :goto_198
34538 + goto/16 :goto_199
34541 .method public destroyDrawingCache()V
34542 diff -Npruw stock-framework/smali/android/webkit/ZoomManager.smali pdroid-framework/smali/android/webkit/ZoomManager.smali
34543 --- stock-framework/smali/android/webkit/ZoomManager.smali 2013-08-15 23:20:17.648304490 -0500
34544 +++ pdroid-framework/smali/android/webkit/ZoomManager.smali 2013-08-15 23:20:08.536304759 -0500
34545 @@ -452,7 +452,7 @@
34547 cmpl-float v0, v0, v1
34549 - if-lez v0, :cond_38
34550 + if-lez v0, :cond_39
34552 const-string/jumbo v0, "webviewZoom"
34554 @@ -460,7 +460,7 @@
34556 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34558 - const-string v2, "mMinZoom > mMaxZoom!!! "
34559 + const-string/jumbo v2, "mMinZoom > mMaxZoom!!! "
34561 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34563 @@ -498,7 +498,7 @@
34565 iput v0, p0, Landroid/webkit/ZoomManager;->mMaxZoomScale:F