1 diff -Npru stock-framework/smali/android/app/BackStackRecord.smali opd-framework/smali/android/app/BackStackRecord.smali
2 --- stock-framework/smali/android/app/BackStackRecord.smali 2013-01-09 02:52:58.987611513 -0600
3 +++ opd-framework/smali/android/app/BackStackRecord.smali 2013-01-09 02:52:38.751511170 -0600
5 .method dump(Ljava/lang/String;Ljava/io/PrintWriter;Z)V
11 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
15 iget v5, p0, Landroid/app/BackStackRecord;->mTransition:I
20 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
22 - const-string v5, "mTransition=#"
23 + const-string/jumbo v5, "mTransition=#"
25 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
29 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
33 iget v5, p0, Landroid/app/BackStackRecord;->mEnterAnim:I
38 iget v5, p0, Landroid/app/BackStackRecord;->mExitAnim:I
45 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
47 const-string v5, "mEnterAnim=#"
50 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
54 iget v5, p0, Landroid/app/BackStackRecord;->mPopEnterAnim:I
59 iget v5, p0, Landroid/app/BackStackRecord;->mPopExitAnim:I
66 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
68 const-string v5, "mPopEnterAnim=#"
71 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
75 iget v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleRes:I
80 iget-object v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbTitleText:Ljava/lang/CharSequence;
87 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
89 const-string v5, "mBreadCrumbTitleRes=#"
92 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
96 iget v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleRes:I
101 iget-object v5, p0, Landroid/app/BackStackRecord;->mBreadCrumbShortTitleText:Ljava/lang/CharSequence;
103 - if-eqz v5, :cond_da
104 + if-eqz v5, :cond_db
108 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
110 const-string v5, "mBreadCrumbShortTitleRes=#"
111 @@ -921,10 +921,10 @@
113 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
117 iget-object v5, p0, Landroid/app/BackStackRecord;->mHead:Landroid/app/BackStackRecord$Op;
119 - if-eqz v5, :cond_1f6
120 + if-eqz v5, :cond_1f7
122 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
129 - if-eqz v4, :cond_1f6
131 + if-eqz v4, :cond_1f7
133 iget v5, v4, Landroid/app/BackStackRecord$Op;->cmd:I
137 move-result-object v0
141 invoke-virtual {p2, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
143 const-string v5, " Op #"
144 @@ -1004,17 +1004,17 @@
146 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
148 - if-eqz p3, :cond_186
149 + if-eqz p3, :cond_187
151 iget v5, v4, Landroid/app/BackStackRecord$Op;->enterAnim:I
153 - if-nez v5, :cond_13f
154 + if-nez v5, :cond_140
156 iget v5, v4, Landroid/app/BackStackRecord$Op;->exitAnim:I
158 - if-eqz v5, :cond_15e
159 + if-eqz v5, :cond_15f
163 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
165 const-string v5, "enterAnim=#"
166 @@ -1041,16 +1041,16 @@
168 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
172 iget v5, v4, Landroid/app/BackStackRecord$Op;->popEnterAnim:I
174 - if-nez v5, :cond_166
175 + if-nez v5, :cond_167
177 iget v5, v4, Landroid/app/BackStackRecord$Op;->popExitAnim:I
179 - if-eqz v5, :cond_186
180 + if-eqz v5, :cond_187
184 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
186 const-string/jumbo v5, "popEnterAnim=#"
187 @@ -1077,10 +1077,10 @@
189 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
193 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
195 - if-eqz v5, :cond_1f0
196 + if-eqz v5, :cond_1f1
198 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
200 @@ -1088,18 +1088,18 @@
204 - if-lez v5, :cond_1f0
205 + if-lez v5, :cond_1f1
211 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
213 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I
217 - if-ge v1, v5, :cond_1f0
218 + if-ge v1, v5, :cond_1f1
220 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
222 @@ -1111,13 +1111,13 @@
226 - if-ne v5, v6, :cond_1d8
227 + if-ne v5, v6, :cond_1d9
229 const-string v5, "Removed: "
231 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
235 iget-object v5, v4, Landroid/app/BackStackRecord$Op;->removed:Ljava/util/ArrayList;
237 invoke-virtual {v5, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
238 @@ -1128,56 +1128,56 @@
240 add-int/lit8 v1, v1, 0x1
247 const-string v0, "NULL"
254 const-string v0, "ADD"
261 const-string v0, "REPLACE"
268 const-string v0, "REMOVE"
275 const-string v0, "HIDE"
282 const-string v0, "SHOW"
289 const-string v0, "DETACH"
296 const-string v0, "ATTACH"
302 - if-nez v1, :cond_1df
304 + if-nez v1, :cond_1e0
306 const-string v5, "Removed:"
308 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V
312 invoke-virtual {p2, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
314 const-string v5, " #"
315 @@ -1190,30 +1190,28 @@
317 invoke-virtual {p2, v5}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
324 iget-object v4, v4, Landroid/app/BackStackRecord$Op;->next:Landroid/app/BackStackRecord$Op;
326 add-int/lit8 v3, v3, 0x1
358 diff -Npru stock-framework/smali/android/app/ContextImpl$10.smali opd-framework/smali/android/app/ContextImpl$10.smali
359 --- stock-framework/smali/android/app/ContextImpl$10.smali 2013-01-09 02:52:58.991611535 -0600
360 +++ opd-framework/smali/android/app/ContextImpl$10.smali 2013-01-09 02:52:38.755511194 -0600
364 .method public createStaticService()Ljava/lang/Object;
368 - const-string v1, "connectivity"
369 + const-string v2, "connectivity"
371 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
372 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
374 move-result-object v0
376 - new-instance v1, Landroid/net/ConnectivityManager;
377 + const-string v2, "ApplicationContext"
379 + const-string v3, "PDroid:ContextImpl: returning PrivacyConnectivityManager"
381 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
383 invoke-static {v0}, Landroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
385 - move-result-object v2
386 + move-result-object v1
388 + new-instance v2, Landroid/privacy/surrogate/PrivacyConnectivityManager;
390 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
392 + move-result-object v3
394 - invoke-direct {v1, v2}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
395 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyConnectivityManager;-><init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
400 diff -Npru stock-framework/smali/android/app/ContextImpl$22.smali opd-framework/smali/android/app/ContextImpl$22.smali
401 --- stock-framework/smali/android/app/ContextImpl$22.smali 2013-01-09 02:52:58.995611559 -0600
402 +++ opd-framework/smali/android/app/ContextImpl$22.smali 2013-01-09 02:52:38.763511234 -0600
406 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
410 const-string v1, "location"
414 move-result-object v0
416 - new-instance v1, Landroid/location/LocationManager;
417 + const-string v1, "ApplicationContext"
419 + const-string v2, "PDroid:ContextImpl: returning PrivacyLocationManager"
421 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
423 + new-instance v1, Landroid/privacy/surrogate/PrivacyLocationManager;
425 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
427 move-result-object v2
429 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
430 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
432 + move-result-object v3
434 + invoke-direct {v1, v2, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
438 diff -Npru stock-framework/smali/android/app/ContextImpl$31.smali opd-framework/smali/android/app/ContextImpl$31.smali
439 --- stock-framework/smali/android/app/ContextImpl$31.smali 2013-01-09 02:52:59.011611639 -0600
440 +++ opd-framework/smali/android/app/ContextImpl$31.smali 2013-01-09 02:52:38.779511309 -0600
442 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
445 - new-instance v0, Landroid/telephony/TelephonyManager;
446 + const-string v0, "ApplicationContext"
448 + const-string v1, "PDroid:ContextImpl: returning PrivacyTelephonyManager"
450 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
452 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
454 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
456 move-result-object v1
458 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
459 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
463 diff -Npru stock-framework/smali/android/app/ContextImpl$37.smali opd-framework/smali/android/app/ContextImpl$37.smali
464 --- stock-framework/smali/android/app/ContextImpl$37.smali 2013-01-09 02:52:59.015611655 -0600
465 +++ opd-framework/smali/android/app/ContextImpl$37.smali 2013-01-09 02:52:38.791511373 -0600
468 move-result-object v1
470 - new-instance v2, Landroid/net/wifi/WifiManager;
471 + const-string v2, "ApplicationContext"
473 + const-string v3, "PDroid:ContextImpl: returning PrivacyWifiManager"
475 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
477 + new-instance v2, Landroid/privacy/surrogate/PrivacyWifiManager;
479 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
481 move-result-object v3
483 - invoke-direct {v2, v3, v1}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
484 + invoke-direct {v2, v3, v1}, Landroid/privacy/surrogate/PrivacyWifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
488 diff -Npru stock-framework/smali/android/app/ContextImpl$39.smali opd-framework/smali/android/app/ContextImpl$39.smali
489 --- stock-framework/smali/android/app/ContextImpl$39.smali 2013-01-09 02:52:59.015611655 -0600
490 +++ opd-framework/smali/android/app/ContextImpl$39.smali 2013-01-09 02:52:38.791511373 -0600
492 .class final Landroid/app/ContextImpl$39;
493 -.super Landroid/app/ContextImpl$ServiceFetcher;
494 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
495 .source "ContextImpl.java"
499 .method constructor <init>()V
502 - invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;-><init>()V
503 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
510 -.method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
512 +.method public createStaticService()Ljava/lang/Object;
515 - #getter for: Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
516 - invoke-static {p1}, Landroid/app/ContextImpl;->access$100(Landroid/app/ContextImpl;)Landroid/view/Display;
517 + const-string v2, "ApplicationContext"
519 - move-result-object v0
520 + const-string v3, "PDroid:ContextImpl: Creating static privacy service"
522 - if-nez v0, :cond_17
523 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
525 - invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
526 + const-string/jumbo v2, "privacy"
528 - move-result-object v2
529 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
531 - const-string v3, "display"
532 + move-result-object v0
534 - invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
535 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
537 move-result-object v1
539 - check-cast v1, Landroid/hardware/display/DisplayManager;
542 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
544 - invoke-virtual {v1, v2}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
546 - move-result-object v0
547 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
550 - new-instance v2, Landroid/view/WindowManagerImpl;
551 + move-result-object v3
553 - invoke-direct {v2, v0}, Landroid/view/WindowManagerImpl;-><init>(Landroid/view/Display;)V
554 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
558 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali opd-framework/smali/android/app/ContextImpl$3.smali
559 --- stock-framework/smali/android/app/ContextImpl$3.smali 2013-01-09 02:52:59.015611655 -0600
560 +++ opd-framework/smali/android/app/ContextImpl$3.smali 2013-01-09 02:52:38.795511389 -0600
564 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
568 const-string v2, "account"
572 move-result-object v1
574 - new-instance v2, Landroid/accounts/AccountManager;
575 + const-string v2, "ApplicationContext"
577 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
578 + const-string v3, "PDroid:ContextImpl: returning PrivacyAccountManager rather than AccountManager"
580 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
582 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
584 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
588 diff -Npru stock-framework/smali/android/app/ContextImpl$40.smali opd-framework/smali/android/app/ContextImpl$40.smali
589 --- stock-framework/smali/android/app/ContextImpl$40.smali 2013-01-09 02:52:59.015611655 -0600
590 +++ opd-framework/smali/android/app/ContextImpl$40.smali 2013-01-09 02:52:38.795511389 -0600
594 .method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
598 - const-string/jumbo v2, "user"
600 - invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
601 + #getter for: Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
602 + invoke-static {p1}, Landroid/app/ContextImpl;->access$100(Landroid/app/ContextImpl;)Landroid/view/Display;
604 move-result-object v0
606 - invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
607 + if-nez v0, :cond_17
609 + invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
611 + move-result-object v2
613 + const-string v3, "display"
615 + invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
617 move-result-object v1
619 - new-instance v2, Landroid/os/UserManager;
620 + check-cast v1, Landroid/hardware/display/DisplayManager;
624 + invoke-virtual {v1, v2}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
626 + move-result-object v0
629 + new-instance v2, Landroid/view/WindowManagerImpl;
631 - invoke-direct {v2, p1, v1}, Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
632 + invoke-direct {v2, v0}, Landroid/view/WindowManagerImpl;-><init>(Landroid/view/Display;)V
636 diff -Npru stock-framework/smali/android/app/ContextImpl$41.smali opd-framework/smali/android/app/ContextImpl$41.smali
637 --- stock-framework/smali/android/app/ContextImpl$41.smali 1969-12-31 18:00:00.000000000 -0600
638 +++ opd-framework/smali/android/app/ContextImpl$41.smali 2013-01-09 02:52:38.795511389 -0600
640 +.class final Landroid/app/ContextImpl$41;
641 +.super Landroid/app/ContextImpl$ServiceFetcher;
642 +.source "ContextImpl.java"
646 +.annotation system Ldalvik/annotation/EnclosingClass;
647 + value = Landroid/app/ContextImpl;
650 +.annotation system Ldalvik/annotation/InnerClass;
657 +.method constructor <init>()V
660 + invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;-><init>()V
667 +.method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
670 + const-string/jumbo v2, "user"
672 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
674 + move-result-object v0
676 + invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
678 + move-result-object v1
680 + new-instance v2, Landroid/os/UserManager;
682 + invoke-direct {v2, p1, v1}, Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
686 diff -Npru stock-framework/smali/android/app/ContextImpl.smali opd-framework/smali/android/app/ContextImpl.smali
687 --- stock-framework/smali/android/app/ContextImpl.smali 2013-01-09 02:52:59.039611771 -0600
688 +++ opd-framework/smali/android/app/ContextImpl.smali 2013-01-09 02:52:38.855511686 -0600
691 .field private static sNextPerContextServiceCacheIndex:I
693 +.field private static sOuterContext:Landroid/content/Context;
695 .field private static final sSharedPrefs:Ljava/util/HashMap;
696 .annotation system Ldalvik/annotation/Signature;
700 sput-object v0, Landroid/app/ContextImpl;->sSharedPrefs:Ljava/util/HashMap;
704 + sput-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
706 new-array v0, v1, [Ljava/lang/String;
708 sput-object v0, Landroid/app/ContextImpl;->EMPTY_FILE_LIST:[Ljava/lang/String;
711 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
713 - const-string/jumbo v0, "window"
714 + const-string/jumbo v0, "privacy"
716 new-instance v1, Landroid/app/ContextImpl$39;
720 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
722 - const-string/jumbo v0, "user"
723 + const-string/jumbo v0, "window"
725 new-instance v1, Landroid/app/ContextImpl$40;
729 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
731 + const-string/jumbo v0, "user"
733 + new-instance v1, Landroid/app/ContextImpl$41;
735 + invoke-direct {v1}, Landroid/app/ContextImpl$41;-><init>()V
737 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
744 iput-object v0, p0, Landroid/app/ContextImpl;->mServiceCache:Ljava/util/ArrayList;
746 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
748 + if-eqz v0, :cond_26
750 + const-string v0, "ApplicationContext"
752 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
754 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
757 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
759 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
766 iput-object v0, p0, Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
768 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
770 + if-eqz v0, :cond_42
772 + const-string v0, "ApplicationContext"
774 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
776 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
779 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
781 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
786 @@ -1053,6 +1093,14 @@
790 +.method static final getStaticOuterContext()Landroid/content/Context;
793 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
798 .method private getWallpaperManager()Landroid/app/WallpaperManager;
801 @@ -5094,10 +5142,23 @@
804 .method final setOuterContext(Landroid/content/Context;)V
808 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
812 + const-string v0, "ApplicationContext"
814 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
816 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
819 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
821 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
826 diff -Npru stock-framework/smali/android/app/Fragment.smali opd-framework/smali/android/app/Fragment.smali
827 --- stock-framework/smali/android/app/Fragment.smali 2013-01-09 02:52:59.051611833 -0600
828 +++ opd-framework/smali/android/app/Fragment.smali 2013-01-09 02:52:38.879511809 -0600
829 @@ -623,11 +623,11 @@
831 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
833 - if-eqz v0, :cond_156
834 + if-eqz v0, :cond_157
836 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
838 - const-string v0, "mTarget="
839 + const-string/jumbo v0, "mTarget="
841 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
843 @@ -643,10 +643,10 @@
845 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
849 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
851 - if-eqz v0, :cond_167
852 + if-eqz v0, :cond_168
854 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
856 @@ -658,10 +658,10 @@
858 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
862 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
864 - if-eqz v0, :cond_178
865 + if-eqz v0, :cond_179
867 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
869 @@ -673,10 +673,10 @@
871 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
875 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
877 - if-eqz v0, :cond_18a
878 + if-eqz v0, :cond_18b
880 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
882 @@ -688,10 +688,10 @@
884 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
888 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
890 - if-eqz v0, :cond_1a8
891 + if-eqz v0, :cond_1a9
893 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
895 @@ -713,10 +713,10 @@
897 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
901 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
903 - if-eqz v0, :cond_1cc
904 + if-eqz v0, :cond_1cd
906 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
908 @@ -746,10 +746,10 @@
910 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
914 iget-object v0, p0, Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl;
916 - if-eqz v0, :cond_209
917 + if-eqz v0, :cond_20a
919 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
923 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/FragmentManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
930 diff -Npru stock-framework/smali/android/app/Instrumentation$1.smali opd-framework/smali/android/app/Instrumentation$1.smali
931 --- stock-framework/smali/android/app/Instrumentation$1.smali 2013-01-09 02:52:59.215612651 -0600
932 +++ opd-framework/smali/android/app/Instrumentation$1.smali 2013-01-09 02:52:39.267513729 -0600
934 -.class synthetic Landroid/app/Instrumentation$1;
935 +.class Landroid/app/Instrumentation$1;
936 .super Ljava/lang/Object;
937 .source "Instrumentation.java"
940 +.implements Ljava/lang/Runnable;
944 -.annotation system Ldalvik/annotation/EnclosingClass;
945 - value = Landroid/app/Instrumentation;
946 +.annotation system Ldalvik/annotation/EnclosingMethod;
947 + 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;
950 .annotation system Ldalvik/annotation/InnerClass;
951 - accessFlags = 0x1008
958 +.field final synthetic this$0:Landroid/app/Instrumentation;
960 +.field final synthetic val$tmp:Landroid/content/Context;
964 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
967 + iput-object p1, p0, Landroid/app/Instrumentation$1;->this$0:Landroid/app/Instrumentation;
969 + iput-object p2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
971 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
978 +.method public run()V
981 + const-wide/16 v2, 0x3e8
984 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
986 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
989 + new-instance v1, Landroid/content/Intent;
991 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
993 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
995 + new-instance v0, Landroid/os/Bundle;
997 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
999 + const-string/jumbo v2, "packageName"
1001 + iget-object v3, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
1003 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1005 + move-result-object v3
1007 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1009 + const-string/jumbo v2, "phoneState"
1013 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1015 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1017 + iget-object v2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
1019 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1021 + const-string v2, "PrivacyContext"
1023 + const-string/jumbo v3, "sent privacy intent"
1025 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1034 diff -Npru stock-framework/smali/android/app/Instrumentation$2.smali opd-framework/smali/android/app/Instrumentation$2.smali
1035 --- stock-framework/smali/android/app/Instrumentation$2.smali 1969-12-31 18:00:00.000000000 -0600
1036 +++ opd-framework/smali/android/app/Instrumentation$2.smali 2013-01-09 02:52:39.283513809 -0600
1038 +.class Landroid/app/Instrumentation$2;
1039 +.super Ljava/lang/Object;
1040 +.source "Instrumentation.java"
1043 +.implements Ljava/lang/Runnable;
1047 +.annotation system Ldalvik/annotation/EnclosingMethod;
1048 + 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
1051 +.annotation system Ldalvik/annotation/InnerClass;
1058 +.field final synthetic this$0:Landroid/app/Instrumentation;
1060 +.field final synthetic val$tmp:Landroid/content/Context;
1064 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1067 + iput-object p1, p0, Landroid/app/Instrumentation$2;->this$0:Landroid/app/Instrumentation;
1069 + iput-object p2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1071 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1078 +.method public run()V
1081 + const-wide/16 v2, 0x3e8
1084 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1086 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1089 + new-instance v1, Landroid/content/Intent;
1091 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1093 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1095 + new-instance v0, Landroid/os/Bundle;
1097 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1099 + const-string/jumbo v2, "packageName"
1101 + iget-object v3, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1103 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1105 + move-result-object v3
1107 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1109 + const-string/jumbo v2, "phoneState"
1113 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1115 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1117 + iget-object v2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1119 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1121 + const-string v2, "PrivacyContext"
1123 + const-string/jumbo v3, "sent privacy intent"
1125 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1134 diff -Npru stock-framework/smali/android/app/Instrumentation$3.smali opd-framework/smali/android/app/Instrumentation$3.smali
1135 --- stock-framework/smali/android/app/Instrumentation$3.smali 1969-12-31 18:00:00.000000000 -0600
1136 +++ opd-framework/smali/android/app/Instrumentation$3.smali 2013-01-09 02:52:39.283513809 -0600
1138 +.class Landroid/app/Instrumentation$3;
1139 +.super Ljava/lang/Object;
1140 +.source "Instrumentation.java"
1143 +.implements Ljava/lang/Runnable;
1147 +.annotation system Ldalvik/annotation/EnclosingMethod;
1148 + 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;
1151 +.annotation system Ldalvik/annotation/InnerClass;
1158 +.field final synthetic this$0:Landroid/app/Instrumentation;
1160 +.field final synthetic val$tmp:Landroid/content/Context;
1164 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1167 + iput-object p1, p0, Landroid/app/Instrumentation$3;->this$0:Landroid/app/Instrumentation;
1169 + iput-object p2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1171 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1178 +.method public run()V
1181 + const-wide/16 v2, 0x3e8
1184 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1186 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1189 + new-instance v1, Landroid/content/Intent;
1191 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1193 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1195 + new-instance v0, Landroid/os/Bundle;
1197 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1199 + const-string/jumbo v2, "packageName"
1201 + iget-object v3, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1203 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1205 + move-result-object v3
1207 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1209 + const-string/jumbo v2, "phoneState"
1213 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1215 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1217 + iget-object v2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1219 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1221 + const-string v2, "PrivacyContext"
1223 + const-string/jumbo v3, "sent privacy intent"
1225 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1234 diff -Npru stock-framework/smali/android/app/Instrumentation$4.smali opd-framework/smali/android/app/Instrumentation$4.smali
1235 --- stock-framework/smali/android/app/Instrumentation$4.smali 1969-12-31 18:00:00.000000000 -0600
1236 +++ opd-framework/smali/android/app/Instrumentation$4.smali 2013-01-09 02:52:39.283513809 -0600
1238 +.class Landroid/app/Instrumentation$4;
1239 +.super Ljava/lang/Object;
1240 +.source "Instrumentation.java"
1243 +.implements Ljava/lang/Runnable;
1247 +.annotation system Ldalvik/annotation/EnclosingMethod;
1248 + 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;
1251 +.annotation system Ldalvik/annotation/InnerClass;
1258 +.field final synthetic this$0:Landroid/app/Instrumentation;
1260 +.field final synthetic val$tmp:Landroid/content/Context;
1264 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1267 + iput-object p1, p0, Landroid/app/Instrumentation$4;->this$0:Landroid/app/Instrumentation;
1269 + iput-object p2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1271 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1278 +.method public run()V
1281 + const-wide/16 v2, 0x3e8
1284 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1286 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1289 + new-instance v1, Landroid/content/Intent;
1291 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1293 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1295 + new-instance v0, Landroid/os/Bundle;
1297 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1299 + const-string/jumbo v2, "packageName"
1301 + iget-object v3, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1303 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1305 + move-result-object v3
1307 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1309 + const-string/jumbo v2, "phoneState"
1313 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1315 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1317 + iget-object v2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1319 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1321 + const-string v2, "PrivacyContext"
1323 + const-string/jumbo v3, "sent privacy intent"
1325 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1334 diff -Npru stock-framework/smali/android/app/Instrumentation.smali opd-framework/smali/android/app/Instrumentation.smali
1335 --- stock-framework/smali/android/app/Instrumentation.smali 2013-01-09 02:52:59.227612709 -0600
1336 +++ opd-framework/smali/android/app/Instrumentation.smali 2013-01-09 02:52:39.315513967 -0600
1339 .annotation system Ldalvik/annotation/MemberClasses;
1341 - Landroid/app/Instrumentation$1;,
1342 Landroid/app/Instrumentation$Idler;,
1343 Landroid/app/Instrumentation$ActivityGoing;,
1344 Landroid/app/Instrumentation$ActivityWaiter;,
1347 .field private mPerformanceCollector:Landroid/os/PerformanceCollector;
1349 +.field private mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1351 .field private mRunner:Ljava/lang/Thread;
1353 .field private final mSync:Ljava/lang/Object;
1354 @@ -891,176 +892,131 @@
1357 .method public execStartActivitiesAsUser(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;I)V
1360 - move-object v2, p2
1362 - check-cast v2, Landroid/app/IApplicationThread;
1364 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1366 - if-eqz v1, :cond_37
1368 - iget-object v3, p0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1373 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1375 - invoke-interface {v1}, Ljava/util/List;->size()I
1382 - if-ge v10, v8, :cond_36
1385 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1387 - invoke-interface {v1, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
1389 - move-result-object v9
1391 - check-cast v9, Landroid/app/Instrumentation$ActivityMonitor;
1394 + move-object/from16 v3, p2
1397 + check-cast v3, Landroid/app/IApplicationThread;
1399 - aget-object v5, p5, v5
1400 + const-string v2, "Instrumentation"
1402 - invoke-virtual {v9, p1, v1, v5}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1403 + new-instance v4, Ljava/lang/StringBuilder;
1406 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1408 - if-eqz v1, :cond_33
1409 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: execStartActivitiesAsUser for "
1411 - iget v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1412 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1414 - add-int/lit8 v1, v1, 0x1
1415 + move-result-object v4
1417 - iput v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1418 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1420 - invoke-virtual {v9}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1421 + move-result-object v6
1424 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1426 - if-eqz v1, :cond_36
1427 + move-result-object v4
1430 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1434 + move-result-object v4
1437 - add-int/lit8 v10, v10, 0x1
1438 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1441 + if-eqz p5, :cond_6f
1446 - .catchall {:try_start_a .. :try_end_37} :catchall_57
1451 - move-object/from16 v0, p5
1452 + move-object/from16 v12, p5
1454 - array-length v1, v0
1455 + array-length v0, v12
1457 - new-array v4, v1, [Ljava/lang/String;
1458 + move/from16 v19, v0
1464 - move-object/from16 v0, p5
1466 + move/from16 v0, v17
1468 - array-length v1, v0
1469 + move/from16 v1, v19
1471 - if-ge v10, v1, :cond_5a
1472 + if-ge v0, v1, :cond_51
1474 - aget-object v1, p5, v10
1475 + aget-object v18, v12, v17
1479 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1481 - invoke-virtual {v1, v3}, Landroid/content/Intent;->setAllowFds(Z)V
1482 + move-result-object v2
1484 - aget-object v1, p5, v10
1485 + if-eqz v2, :cond_cc
1487 - invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1488 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1490 - move-result-object v3
1491 + move-result-object v2
1493 - invoke-virtual {v1, v3}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1494 + const-string v4, "android.intent.action.CALL"
1496 - move-result-object v1
1497 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1499 - aput-object v1, v4, v10
1501 - .catch Landroid/os/RemoteException; {:try_start_37 .. :try_end_54} :catch_70
1504 - add-int/lit8 v10, v10, 0x1
1505 + if-nez v2, :cond_50
1508 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1512 + move-result-object v2
1517 - .catchall {:try_start_58 .. :try_end_59} :catchall_57
1518 + const-string v4, "android.intent.action.DIAL"
1521 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1523 + .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_4d} :catch_ae
1527 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1530 - move-result-object v1
1531 + if-eqz v2, :cond_cc
1533 - move-object/from16 v3, p5
1537 - move-object v5, p3
1539 + if-nez v13, :cond_d0
1541 - move-object/from16 v6, p6
1542 + const-string v2, "Instrumentation"
1544 - move/from16 v7, p7
1545 + new-instance v4, Ljava/lang/StringBuilder;
1547 - invoke-interface/range {v1 .. v7}, Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
1548 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1551 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: No provided intents triggered checking for "
1554 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1556 - aget-object v1, p5, v1
1557 + move-result-object v4
1559 - invoke-static {v11, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1561 - .catch Landroid/os/RemoteException; {:try_start_5a .. :try_end_6f} :catch_70
1562 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1565 + move-result-object v6
1569 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1573 + move-result-object v4
1575 -.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;
1577 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1579 - move-object/from16 v3, p2
1580 + move-result-object v4
1582 - check-cast v3, Landroid/app/IApplicationThread;
1583 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1587 move-object/from16 v0, p0
1589 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1591 - if-eqz v2, :cond_49
1592 + if-eqz v2, :cond_283
1594 move-object/from16 v0, p0
1596 @@ -1068,524 +1024,2595 @@
1602 move-object/from16 v0, p0
1604 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1606 invoke-interface {v2}, Ljava/util/List;->size()I
1615 + move/from16 v0, v16
1618 - if-ge v15, v13, :cond_48
1619 + if-ge v0, v9, :cond_282
1621 move-object/from16 v0, p0
1623 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1625 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
1626 + move/from16 v0, v16
1628 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1630 - move-result-object v14
1631 + move-result-object v11
1633 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
1634 + check-cast v11, Landroid/app/Instrumentation$ActivityMonitor;
1638 - move-object/from16 v0, p1
1641 - move-object/from16 v1, p5
1642 + aget-object v6, p5, v6
1644 + move-object/from16 v0, p1
1646 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1647 + invoke-virtual {v11, v0, v2, v6}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1651 - if-eqz v2, :cond_45
1652 + if-eqz v2, :cond_27e
1654 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1655 + iget v2, v11, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1657 add-int/lit8 v2, v2, 0x1
1659 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1660 + iput v2, v11, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1662 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1663 + invoke-virtual {v11}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1667 - if-eqz v2, :cond_48
1668 + if-eqz v2, :cond_282
1670 - if-ltz p6, :cond_43
1672 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1674 - move-result-object v2
1679 + .catchall {:try_start_7a .. :try_end_ad} :catchall_2a6
1689 + move-exception v14
1692 + const-string v2, "Instrumentation"
1695 - add-int/lit8 v15, v15, 0x1
1696 + new-instance v4, Ljava/lang/StringBuilder;
1699 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1704 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
1705 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intents for "
1709 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1712 - move-object/from16 v0, p5
1713 + move-result-object v4
1715 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1716 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1718 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1719 + move-result-object v6
1721 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1722 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1724 - move-result-object v2
1725 + move-result-object v4
1727 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1728 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1730 move-result-object v4
1732 - move-object/from16 v0, p5
1733 + invoke-static {v2, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1735 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1738 - move-result-object v5
1740 + add-int/lit8 v17, v17, 0x1
1742 - if-eqz p4, :cond_81
1745 - move-object/from16 v0, p4
1747 + const-string v2, "Instrumentation"
1749 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1750 + new-instance v4, Ljava/lang/StringBuilder;
1754 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1757 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: One or more intents triggered checking for "
1760 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1762 - move-object/from16 v4, p5
1763 + move-result-object v4
1765 - move-object/from16 v6, p3
1766 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1768 - move/from16 v8, p6
1769 + move-result-object v6
1771 - move-object/from16 v12, p7
1772 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1774 - invoke-interface/range {v2 .. v12}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
1775 + move-result-object v4
1778 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1780 - move/from16 v0, v16
1781 + move-result-object v4
1783 - move-object/from16 v1, p5
1784 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1786 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1788 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
1789 + move-object/from16 v0, p0
1793 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1796 + if-eqz v2, :cond_fc
1800 + move-object/from16 v0, p0
1805 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
1806 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1809 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1816 + if-nez v2, :cond_18f
1821 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
1825 + const-string/jumbo v4, "privacy"
1827 -.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;
1829 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1831 - move-object/from16 v3, p2
1832 + move-result-object v4
1834 - check-cast v3, Landroid/app/IApplicationThread;
1835 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1837 - move-object/from16 v0, p0
1838 + move-result-object v4
1840 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1841 + move-object/from16 v0, p1
1843 - if-eqz v2, :cond_4e
1844 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1846 move-object/from16 v0, p0
1848 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1851 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1854 move-object/from16 v0, p0
1856 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1857 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1859 - invoke-interface {v2}, Ljava/util/List;->size()I
1860 + if-eqz v2, :cond_187
1863 + const-string v2, "Instrumentation"
1866 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Obtained privacy service"
1869 - move/from16 v0, v16
1870 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1872 - if-ge v0, v14, :cond_4d
1876 move-object/from16 v0, p0
1878 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1879 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1881 - move/from16 v0, v16
1882 + if-eqz v2, :cond_130
1884 - invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1885 + move-object/from16 v0, p0
1887 - move-result-object v15
1888 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1890 - check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
1891 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1896 - move-object/from16 v0, p1
1897 + if-nez v2, :cond_197
1899 - move-object/from16 v1, p5
1901 + const-string v2, "Instrumentation"
1903 - invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1904 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not available - assuming permission denied"
1907 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1909 - if-eqz v2, :cond_4a
1912 - iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1913 + move-object/from16 v0, p0
1915 - add-int/lit8 v2, v2, 0x1
1916 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1918 - iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1919 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1921 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1922 + move-result-object v4
1927 - if-eqz v2, :cond_4d
1928 + const-string/jumbo v7, "phoneCall"
1930 - if-ltz p6, :cond_48
1933 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1934 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1936 - move-result-object v2
1938 + if-nez v10, :cond_6f
1942 + new-instance v15, Ljava/util/ArrayList;
1946 + move-object/from16 v0, p5
1950 + array-length v2, v0
1953 + invoke-direct {v15, v2}, Ljava/util/ArrayList;-><init>(I)V
1956 - add-int/lit8 v16, v16, 0x1
1957 + move-object/from16 v12, p5
1960 + array-length v0, v12
1965 - .catchall {:try_start_f .. :try_end_4e} :catchall_87
1966 + move/from16 v19, v0
1973 - move-object/from16 v0, p5
1975 + move/from16 v0, v17
1977 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1978 + move/from16 v1, v19
1980 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1981 + if-ge v0, v1, :cond_25d
1983 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1984 + aget-object v18, v12, v17
1987 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1989 move-result-object v2
1991 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1992 + if-eqz v2, :cond_17f
1994 - move-result-object v4
1995 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1997 - move-object/from16 v0, p5
1998 + move-result-object v2
2000 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2001 + const-string v4, "android.intent.action.CALL"
2003 - move-result-object v5
2004 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2006 - if-eqz p4, :cond_8a
2009 - move-object/from16 v0, p4
2010 + if-nez v2, :cond_184
2012 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
2013 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2017 + move-result-object v2
2020 + const-string v4, "android.intent.action.DIAL"
2023 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2025 - invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
2029 + if-nez v2, :cond_184
2031 - move-object/from16 v4, p5
2033 + move-object/from16 v0, v18
2035 - move-object/from16 v6, p3
2036 + invoke-interface {v15, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
2038 + .catch Ljava/lang/Exception; {:try_start_161 .. :try_end_184} :catch_23e
2040 - move/from16 v8, p6
2043 + add-int/lit8 v17, v17, 0x1
2045 - move-object/from16 v12, p7
2048 - invoke-interface/range {v2 .. v13}, Landroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)I
2050 + const-string v2, "Instrumentation"
2053 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not obtained"
2055 - move/from16 v0, v17
2056 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2058 - move-object/from16 v1, p5
2061 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2063 - .catch Landroid/os/RemoteException; {:try_start_4f .. :try_end_85} :catch_8c
2065 + const-string v2, "Instrumentation"
2069 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Already had privacy service"
2072 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2081 - .catchall {:try_start_88 .. :try_end_89} :catchall_87
2083 + move-object/from16 v0, p0
2086 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2090 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2093 + move-result-object v4
2097 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2101 + move-result-object v20
2103 -.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;
2105 + if-nez v20, :cond_1d4
2107 - move-object/from16 v3, p2
2108 + const-string v2, "Instrumentation"
2110 - check-cast v3, Landroid/app/IApplicationThread;
2111 + new-instance v4, Ljava/lang/StringBuilder;
2113 - move-object/from16 v0, p0
2114 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2116 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2117 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: No settings for package: "
2119 - if-eqz v2, :cond_49
2120 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2122 - move-object/from16 v0, p0
2123 + move-result-object v4
2125 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2126 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2129 + move-result-object v6
2132 - move-object/from16 v0, p0
2133 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2135 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2136 + move-result-object v4
2138 - invoke-interface {v2}, Ljava/util/List;->size()I
2139 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2142 + move-result-object v4
2145 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2148 - if-ge v15, v13, :cond_48
2151 move-object/from16 v0, p0
2153 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2154 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2156 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
2157 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2159 - move-result-object v14
2160 + move-result-object v4
2162 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
2166 + const-string/jumbo v7, "phoneCall"
2168 - move-object/from16 v0, p1
2171 - move-object/from16 v1, p5
2172 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2174 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2178 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2182 - if-eqz v2, :cond_45
2183 + if-nez v2, :cond_20c
2185 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2186 + const-string v2, "Instrumentation"
2188 - add-int/lit8 v2, v2, 0x1
2189 + new-instance v4, Ljava/lang/StringBuilder;
2191 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2192 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2194 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2195 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: Settings permit "
2198 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2200 - if-eqz v2, :cond_48
2201 + move-result-object v4
2203 - if-ltz p6, :cond_43
2204 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2206 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2207 + move-result-object v6
2209 - move-result-object v2
2210 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2214 + move-result-object v4
2218 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2222 + move-result-object v4
2225 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2228 - add-int/lit8 v15, v15, 0x1
2232 + move-object/from16 v0, p0
2237 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
2238 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2242 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2245 - move-object/from16 v0, p5
2246 + move-result-object v4
2248 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
2249 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2251 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2254 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2255 + const-string/jumbo v7, "phoneCall"
2257 - move-result-object v2
2260 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2261 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2263 - move-result-object v4
2266 - move-object/from16 v0, p5
2268 + const-string v2, "Instrumentation"
2270 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2271 + new-instance v4, Ljava/lang/StringBuilder;
2273 - move-result-object v5
2274 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2276 - if-eqz p4, :cond_81
2277 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents denied: Settings deny "
2279 - move-object/from16 v0, p4
2280 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2282 - iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
2283 + move-result-object v4
2287 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2290 + move-result-object v6
2293 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2295 - move-object/from16 v4, p5
2296 + move-result-object v4
2298 - move-object/from16 v6, p3
2299 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2301 - move/from16 v8, p6
2302 + move-result-object v4
2304 - move-object/from16 v12, p7
2305 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2307 - invoke-interface/range {v2 .. v12}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
2311 + move-object/from16 v0, p0
2313 - move/from16 v0, v16
2314 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2316 - move-object/from16 v1, p5
2317 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2319 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2321 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
2322 + move-result-object v4
2324 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2328 + const-string/jumbo v7, "phoneCall"
2332 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2337 + move-exception v14
2339 + const-string v2, "Instrumentation"
2341 + new-instance v4, Ljava/lang/StringBuilder;
2343 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2345 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intent for "
2347 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2349 + move-result-object v4
2351 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2353 + move-result-object v6
2355 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2357 + move-result-object v4
2359 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2361 + move-result-object v4
2363 + invoke-static {v2, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2368 + invoke-interface {v15}, Ljava/util/List;->size()I
2372 + new-array v2, v2, [Landroid/content/Intent;
2374 + invoke-interface {v15, v2}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
2376 + move-result-object p5
2378 + check-cast p5, [Landroid/content/Intent;
2380 + move-object/from16 v22, p1
2382 + new-instance v2, Ljava/lang/Thread;
2384 + new-instance v4, Landroid/app/Instrumentation$2;
2386 + move-object/from16 v0, p0
2388 + move-object/from16 v1, v22
2390 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$2;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2392 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2394 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2399 + add-int/lit8 v16, v16, 0x1
2407 + .catchall {:try_start_282 .. :try_end_283} :catchall_2a6
2411 + move-object/from16 v0, p5
2413 + array-length v2, v0
2415 + new-array v5, v2, [Ljava/lang/String;
2420 + move-object/from16 v0, p5
2422 + array-length v2, v0
2424 + move/from16 v0, v16
2426 + if-ge v0, v2, :cond_2a9
2428 + aget-object v2, p5, v16
2432 + invoke-virtual {v2, v4}, Landroid/content/Intent;->setAllowFds(Z)V
2434 + aget-object v2, p5, v16
2436 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2438 + move-result-object v4
2440 + invoke-virtual {v2, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2442 + move-result-object v2
2444 + aput-object v2, v5, v16
2446 + .catch Landroid/os/RemoteException; {:try_start_283 .. :try_end_2a3} :catch_2c3
2448 + add-int/lit8 v16, v16, 0x1
2458 + .catchall {:try_start_2a7 .. :try_end_2a8} :catchall_2a6
2464 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2466 + move-result-object v2
2468 + move-object/from16 v4, p5
2470 + move-object/from16 v6, p3
2472 + move-object/from16 v7, p6
2474 + move/from16 v8, p7
2476 + invoke-interface/range {v2 .. v8}, Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
2482 + aget-object v2, p5, v2
2484 + move/from16 v0, v21
2486 + invoke-static {v0, v2}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2488 + .catch Landroid/os/RemoteException; {:try_start_2a9 .. :try_end_2c1} :catch_2c3
2498 +.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;
2501 + move-object/from16 v3, p2
2503 + check-cast v3, Landroid/app/IApplicationThread;
2508 + const-string v2, "Instrumentation"
2510 + new-instance v4, Ljava/lang/StringBuilder;
2512 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2514 + const-string v5, "PDroid:Instrumentation:execStartActivity: execStartActivity for "
2516 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2518 + move-result-object v4
2520 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2522 + move-result-object v5
2524 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2526 + move-result-object v4
2528 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2530 + move-result-object v4
2532 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2534 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2536 + move-result-object v2
2538 + if-eqz v2, :cond_b7
2540 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2542 + move-result-object v2
2544 + const-string v4, "android.intent.action.CALL"
2546 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2550 + if-nez v2, :cond_3f
2552 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2554 + move-result-object v2
2556 + const-string v4, "android.intent.action.DIAL"
2558 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2562 + if-eqz v2, :cond_b7
2567 + const-string v2, "Instrumentation"
2569 + new-instance v4, Ljava/lang/StringBuilder;
2571 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2573 + const-string v5, "PDroid:Instrumentation:execStartActivity: Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
2575 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2577 + move-result-object v4
2579 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2581 + move-result-object v5
2583 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2585 + move-result-object v4
2587 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2589 + move-result-object v4
2591 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2593 + move-object/from16 v0, p0
2595 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2597 + if-eqz v2, :cond_6c
2599 + move-object/from16 v0, p0
2601 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2603 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2607 + if-nez v2, :cond_125
2610 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
2612 + const-string/jumbo v4, "privacy"
2614 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
2616 + move-result-object v4
2618 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
2620 + move-result-object v4
2622 + move-object/from16 v0, p1
2624 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
2626 + move-object/from16 v0, p0
2628 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2630 + move-object/from16 v0, p0
2632 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2634 + if-eqz v2, :cond_fb
2636 + const-string v2, "Instrumentation"
2638 + const-string v4, "PDroid:Instrumentation:execStartActivity: Obtained privacy service"
2640 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2643 + move-object/from16 v0, p0
2645 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2647 + if-eqz v2, :cond_9f
2649 + move-object/from16 v0, p0
2651 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2653 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2657 + if-nez v2, :cond_12e
2660 + const-string v2, "Instrumentation"
2662 + const-string v4, "PDroid:Instrumentation:execStartActivity: Privacy service not available: rejecting call attempt"
2664 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2668 + move-object/from16 v0, p0
2670 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2672 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2674 + move-result-object v4
2678 + const-string/jumbo v6, "phoneCall"
2682 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2684 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b7} :catch_103
2688 + move-object/from16 v0, p0
2690 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2692 + if-eqz v2, :cond_1fb
2694 + move-object/from16 v0, p0
2696 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2701 + move-object/from16 v0, p0
2703 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2705 + invoke-interface {v2}, Ljava/util/List;->size()I
2712 + move/from16 v0, v17
2714 + if-ge v0, v13, :cond_1fa
2716 + move-object/from16 v0, p0
2718 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2720 + move/from16 v0, v17
2722 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2724 + move-result-object v15
2726 + check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
2730 + move-object/from16 v0, p1
2732 + move-object/from16 v1, p5
2734 + invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2738 + if-eqz v2, :cond_1f6
2740 + iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2742 + add-int/lit8 v2, v2, 0x1
2744 + iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2746 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2750 + if-eqz v2, :cond_1fa
2752 + if-ltz p6, :cond_1f3
2754 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2756 + move-result-object v2
2761 + .catchall {:try_start_c2 .. :try_end_fa} :catchall_215
2768 + const-string v2, "Instrumentation"
2770 + const-string v4, "PDroid:Instrumentation:execStartActivity: Privacy service not obtained"
2772 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2774 + .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_102} :catch_103
2779 + move-exception v16
2781 + if-eqz p1, :cond_1e8
2783 + const-string v2, "Instrumentation"
2785 + new-instance v4, Ljava/lang/StringBuilder;
2787 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2789 + const-string v5, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for "
2791 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2793 + move-result-object v4
2795 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2797 + move-result-object v5
2799 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2801 + move-result-object v4
2803 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2805 + move-result-object v4
2807 + move-object/from16 v0, v16
2809 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2815 + const-string v2, "Instrumentation"
2817 + const-string v4, "PDroid:Instrumentation:execStartActivity: Already had privacy service"
2819 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2824 + move-object/from16 v0, p0
2826 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2828 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2830 + move-result-object v4
2832 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2834 + move-result-object v18
2836 + if-nez v18, :cond_16b
2838 + const-string v2, "Instrumentation"
2840 + new-instance v4, Ljava/lang/StringBuilder;
2842 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2844 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call allowed: No settings for package: "
2846 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2848 + move-result-object v4
2850 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2852 + move-result-object v5
2854 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2856 + move-result-object v4
2858 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2860 + move-result-object v4
2862 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2866 + move-object/from16 v0, p0
2868 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2870 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2872 + move-result-object v4
2876 + const-string/jumbo v6, "phoneCall"
2880 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2885 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2889 + if-nez v2, :cond_1a3
2891 + const-string v2, "Instrumentation"
2893 + new-instance v4, Ljava/lang/StringBuilder;
2895 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2897 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call allowed: Settings permit "
2899 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2901 + move-result-object v4
2903 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2905 + move-result-object v5
2907 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2909 + move-result-object v4
2911 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2913 + move-result-object v4
2915 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2919 + move-object/from16 v0, p0
2921 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2923 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2925 + move-result-object v4
2927 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2931 + const-string/jumbo v6, "phoneCall"
2935 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2940 + const-string v2, "Instrumentation"
2942 + new-instance v4, Ljava/lang/StringBuilder;
2944 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2946 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call denied: Settings deny "
2948 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2950 + move-result-object v4
2952 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2954 + move-result-object v5
2956 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2958 + move-result-object v4
2960 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2962 + move-result-object v4
2964 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2968 + move-object/from16 v20, p1
2970 + new-instance v2, Ljava/lang/Thread;
2972 + new-instance v4, Landroid/app/Instrumentation$1;
2974 + move-object/from16 v0, p0
2976 + move-object/from16 v1, v20
2978 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$1;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2980 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2982 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2984 + move-object/from16 v0, p0
2986 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2988 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2990 + move-result-object v4
2992 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2996 + const-string/jumbo v6, "phoneCall"
3000 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3002 + .catch Ljava/lang/Exception; {:try_start_125 .. :try_end_1e6} :catch_103
3007 + const-string v2, "Instrumentation"
3009 + const-string v4, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for unknown package"
3011 + move-object/from16 v0, v16
3013 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3023 + add-int/lit8 v17, v17, 0x1
3031 + .catchall {:try_start_1fa .. :try_end_1fb} :catchall_215
3034 + if-nez v14, :cond_218
3037 + new-instance v2, Landroid/app/Instrumentation$ActivityResult;
3039 + move/from16 v0, p6
3041 + move-object/from16 v1, p5
3043 + invoke-direct {v2, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3045 + .catch Ljava/lang/Exception; {:try_start_1fd .. :try_end_206} :catch_208
3050 + move-exception v16
3052 + const-string v2, "Instrumentation"
3054 + const-string v4, "PDroid:Instrumentation:execStartActivity: Exception occurred while trying to create ActivityResult"
3056 + move-object/from16 v0, v16
3058 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3070 + .catchall {:try_start_216 .. :try_end_217} :catchall_215
3078 + move-object/from16 v0, p5
3080 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
3082 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3084 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3086 + move-result-object v2
3088 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3090 + move-result-object v4
3092 + move-object/from16 v0, p5
3094 + invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3096 + move-result-object v5
3098 + if-eqz p4, :cond_24e
3100 + move-object/from16 v0, p4
3102 + iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3111 + move-object/from16 v4, p5
3113 + move-object/from16 v6, p3
3115 + move/from16 v8, p6
3117 + move-object/from16 v12, p7
3119 + invoke-interface/range {v2 .. v12}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
3123 + move/from16 v0, v19
3125 + move-object/from16 v1, p5
3127 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3129 + .catch Landroid/os/RemoteException; {:try_start_219 .. :try_end_24b} :catch_250
3147 +.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;
3150 + move-object/from16 v4, p2
3152 + check-cast v4, Landroid/app/IApplicationThread;
3157 + const-string v3, "Instrumentation"
3159 + new-instance v5, Ljava/lang/StringBuilder;
3161 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3163 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): execStartActivity for "
3165 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3167 + move-result-object v5
3169 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3171 + move-result-object v6
3173 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3175 + move-result-object v5
3177 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3179 + move-result-object v5
3181 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3183 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3185 + move-result-object v3
3187 + if-eqz v3, :cond_ba
3189 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3191 + move-result-object v3
3193 + const-string v5, "android.intent.action.CALL"
3195 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3199 + if-nez v3, :cond_40
3201 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3203 + move-result-object v3
3205 + const-string v5, "android.intent.action.DIAL"
3207 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3211 + if-eqz v3, :cond_ba
3216 + const-string v3, "Instrumentation"
3218 + new-instance v5, Ljava/lang/StringBuilder;
3220 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3222 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3224 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3226 + move-result-object v5
3228 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3230 + move-result-object v6
3232 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3234 + move-result-object v5
3236 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3238 + move-result-object v5
3240 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3242 + move-object/from16 v0, p0
3244 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3246 + if-eqz v3, :cond_6e
3248 + move-object/from16 v0, p0
3250 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3252 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3256 + if-nez v3, :cond_12e
3259 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
3261 + const-string/jumbo v5, "privacy"
3263 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3265 + move-result-object v5
3267 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3269 + move-result-object v5
3271 + move-object/from16 v0, p1
3273 + invoke-direct {v3, v0, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3275 + move-object/from16 v0, p0
3277 + iput-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3279 + move-object/from16 v0, p0
3281 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3283 + if-eqz v3, :cond_104
3285 + const-string v3, "Instrumentation"
3287 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Obtained privacy service"
3289 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3292 + move-object/from16 v0, p0
3294 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3296 + if-eqz v3, :cond_a1
3298 + move-object/from16 v0, p0
3300 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3302 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3306 + if-nez v3, :cond_137
3309 + const-string v3, "Instrumentation"
3311 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not available: rejecting call attempt"
3313 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3317 + move-object/from16 v0, p0
3319 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3321 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3323 + move-result-object v5
3327 + const-string/jumbo v7, "phoneCall"
3331 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3333 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_ba} :catch_10c
3337 + move-object/from16 v0, p0
3339 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3341 + if-eqz v3, :cond_207
3343 + move-object/from16 v0, p0
3345 + iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
3350 + move-object/from16 v0, p0
3352 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3354 + invoke-interface {v3}, Ljava/util/List;->size()I
3361 + move/from16 v0, v19
3363 + if-ge v0, v15, :cond_206
3365 + move-object/from16 v0, p0
3367 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3369 + move/from16 v0, v19
3371 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
3373 + move-result-object v17
3375 + check-cast v17, Landroid/app/Instrumentation$ActivityMonitor;
3379 + move-object/from16 v0, v17
3381 + move-object/from16 v1, p1
3383 + move-object/from16 v2, p5
3385 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
3389 + if-eqz v3, :cond_202
3391 + move-object/from16 v0, v17
3393 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3395 + add-int/lit8 v3, v3, 0x1
3397 + move-object/from16 v0, v17
3399 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3401 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
3405 + if-eqz v3, :cond_206
3407 + if-ltz p6, :cond_1ff
3409 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
3411 + move-result-object v3
3416 + .catchall {:try_start_c5 .. :try_end_103} :catchall_221
3423 + const-string v3, "Instrumentation"
3425 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not obtained"
3427 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3429 + .catch Ljava/lang/Exception; {:try_start_104 .. :try_end_10b} :catch_10c
3434 + move-exception v18
3436 + if-eqz p1, :cond_1f4
3438 + const-string v3, "Instrumentation"
3440 + new-instance v5, Ljava/lang/StringBuilder;
3442 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3444 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for "
3446 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3448 + move-result-object v5
3450 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3452 + move-result-object v6
3454 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3456 + move-result-object v5
3458 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3460 + move-result-object v5
3462 + move-object/from16 v0, v18
3464 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3470 + const-string v3, "Instrumentation"
3472 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Already had privacy service"
3474 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3479 + move-object/from16 v0, p0
3481 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3483 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3485 + move-result-object v5
3487 + invoke-virtual {v3, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
3489 + move-result-object v20
3491 + if-nez v20, :cond_175
3493 + const-string v3, "Instrumentation"
3495 + new-instance v5, Ljava/lang/StringBuilder;
3497 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3499 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: No settings for package: "
3501 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3503 + move-result-object v5
3505 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3507 + move-result-object v6
3509 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3511 + move-result-object v5
3513 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3515 + move-result-object v5
3517 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3521 + move-object/from16 v0, p0
3523 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3525 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3527 + move-result-object v5
3531 + const-string/jumbo v7, "phoneCall"
3535 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3540 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3544 + if-nez v3, :cond_1ae
3546 + const-string v3, "Instrumentation"
3548 + new-instance v5, Ljava/lang/StringBuilder;
3550 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3552 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: Settings permit "
3554 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3556 + move-result-object v5
3558 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3560 + move-result-object v6
3562 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3564 + move-result-object v5
3566 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3568 + move-result-object v5
3570 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3574 + move-object/from16 v0, p0
3576 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3578 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3580 + move-result-object v5
3582 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3586 + const-string/jumbo v7, "phoneCall"
3590 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3595 + const-string v3, "Instrumentation"
3597 + new-instance v5, Ljava/lang/StringBuilder;
3599 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3601 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call denied: Settings deny "
3603 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3605 + move-result-object v5
3607 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3609 + move-result-object v6
3611 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3613 + move-result-object v5
3615 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3617 + move-result-object v5
3619 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3621 + move-object/from16 v22, p1
3625 + new-instance v3, Ljava/lang/Thread;
3627 + new-instance v5, Landroid/app/Instrumentation$4;
3629 + move-object/from16 v0, p0
3631 + move-object/from16 v1, v22
3633 + invoke-direct {v5, v0, v1}, Landroid/app/Instrumentation$4;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
3635 + invoke-direct {v3, v5}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
3637 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
3639 + move-object/from16 v0, p0
3641 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3643 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3645 + move-result-object v5
3647 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3651 + const-string/jumbo v7, "phoneCall"
3655 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3657 + .catch Ljava/lang/Exception; {:try_start_12e .. :try_end_1f2} :catch_10c
3662 + const-string v3, "Instrumentation"
3664 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for unknown package"
3666 + move-object/from16 v0, v18
3668 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3678 + add-int/lit8 v19, v19, 0x1
3686 + .catchall {:try_start_206 .. :try_end_207} :catchall_221
3689 + if-nez v16, :cond_224
3692 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
3694 + move/from16 v0, p6
3696 + move-object/from16 v1, p5
3698 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3700 + .catch Ljava/lang/Exception; {:try_start_209 .. :try_end_212} :catch_214
3705 + move-exception v18
3707 + const-string v3, "Instrumentation"
3709 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred while trying to create ActivityResult"
3711 + move-object/from16 v0, v18
3713 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3725 + .catchall {:try_start_222 .. :try_end_223} :catchall_221
3733 + move-object/from16 v0, p5
3735 + invoke-virtual {v0, v3}, Landroid/content/Intent;->setAllowFds(Z)V
3737 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3739 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3741 + move-result-object v3
3743 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3745 + move-result-object v5
3747 + move-object/from16 v0, p5
3749 + invoke-virtual {v0, v5}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3751 + move-result-object v6
3753 + if-eqz p4, :cond_25e
3755 + move-object/from16 v0, p4
3757 + iget-object v8, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3766 + invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
3770 + move-object/from16 v5, p5
3772 + move-object/from16 v7, p3
3774 + move/from16 v9, p6
3776 + move-object/from16 v13, p7
3778 + invoke-interface/range {v3 .. v14}, Landroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;I)I
3782 + move/from16 v0, v21
3784 + move-object/from16 v1, p5
3786 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3788 + .catch Landroid/os/RemoteException; {:try_start_225 .. :try_end_25b} :catch_260
3806 +.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;
3809 + move-object/from16 v3, p2
3811 + check-cast v3, Landroid/app/IApplicationThread;
3816 + const-string v2, "Instrumentation"
3818 + new-instance v4, Ljava/lang/StringBuilder;
3820 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3822 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): execStartActivity for "
3824 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3826 + move-result-object v4
3828 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3830 + move-result-object v5
3832 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3834 + move-result-object v4
3836 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3838 + move-result-object v4
3840 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3842 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3844 + move-result-object v2
3846 + if-eqz v2, :cond_b7
3848 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3850 + move-result-object v2
3852 + const-string v4, "android.intent.action.CALL"
3854 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3858 + if-nez v2, :cond_3f
3860 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3862 + move-result-object v2
3864 + const-string v4, "android.intent.action.DIAL"
3866 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3870 + if-eqz v2, :cond_b7
3875 + const-string v2, "Instrumentation"
3877 + new-instance v4, Ljava/lang/StringBuilder;
3879 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3881 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3883 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3885 + move-result-object v4
3887 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3889 + move-result-object v5
3891 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3893 + move-result-object v4
3895 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3897 + move-result-object v4
3899 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3901 + move-object/from16 v0, p0
3903 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3905 + if-eqz v2, :cond_6c
3907 + move-object/from16 v0, p0
3909 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3911 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3915 + if-nez v2, :cond_125
3918 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
3920 + const-string/jumbo v4, "privacy"
3922 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3924 + move-result-object v4
3926 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3928 + move-result-object v4
3930 + move-object/from16 v0, p1
3932 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3934 + move-object/from16 v0, p0
3936 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3938 + move-object/from16 v0, p0
3940 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3942 + if-eqz v2, :cond_fb
3944 + const-string v2, "Instrumentation"
3946 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Obtained privacy service"
3948 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3951 + move-object/from16 v0, p0
3953 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3955 + if-eqz v2, :cond_9f
3957 + move-object/from16 v0, p0
3959 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3961 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3965 + if-nez v2, :cond_12e
3968 + const-string v2, "Instrumentation"
3970 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not available: rejecting call attempt"
3972 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3976 + move-object/from16 v0, p0
3978 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3980 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3982 + move-result-object v4
3986 + const-string/jumbo v6, "phoneCall"
3990 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3992 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b7} :catch_103
3996 + move-object/from16 v0, p0
3998 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
4000 + if-eqz v2, :cond_1fb
4002 + move-object/from16 v0, p0
4004 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
4009 + move-object/from16 v0, p0
4011 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
4013 + invoke-interface {v2}, Ljava/util/List;->size()I
4020 + move/from16 v0, v17
4022 + if-ge v0, v13, :cond_1fa
4024 + move-object/from16 v0, p0
4026 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
4028 + move/from16 v0, v17
4030 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
4032 + move-result-object v15
4034 + check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
4038 + move-object/from16 v0, p1
4040 + move-object/from16 v1, p5
4042 + invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
4046 + if-eqz v2, :cond_1f6
4048 + iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
4050 + add-int/lit8 v2, v2, 0x1
4052 + iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
4054 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
4058 + if-eqz v2, :cond_1fa
4060 + if-ltz p6, :cond_1f3
4062 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
4064 + move-result-object v2
4069 + .catchall {:try_start_c2 .. :try_end_fa} :catchall_215
4076 + const-string v2, "Instrumentation"
4078 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not obtained"
4080 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4082 + .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_102} :catch_103
4087 + move-exception v16
4089 + if-eqz p1, :cond_1e8
4091 + const-string v2, "Instrumentation"
4093 + new-instance v4, Ljava/lang/StringBuilder;
4095 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4097 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for "
4099 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4101 + move-result-object v4
4103 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4105 + move-result-object v5
4107 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4109 + move-result-object v4
4111 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4113 + move-result-object v4
4115 + move-object/from16 v0, v16
4117 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4123 + const-string v2, "Instrumentation"
4125 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Already had privacy service"
4127 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4132 + move-object/from16 v0, p0
4134 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4136 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4138 + move-result-object v4
4140 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
4142 + move-result-object v18
4144 + if-nez v18, :cond_16b
4146 + const-string v2, "Instrumentation"
4148 + new-instance v4, Ljava/lang/StringBuilder;
4150 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4152 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: No settings for package: "
4154 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4156 + move-result-object v4
4158 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4160 + move-result-object v5
4162 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4164 + move-result-object v4
4166 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4168 + move-result-object v4
4170 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4174 + move-object/from16 v0, p0
4176 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4178 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4180 + move-result-object v4
4184 + const-string/jumbo v6, "phoneCall"
4188 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4193 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4197 + if-nez v2, :cond_1a3
4199 + const-string v2, "Instrumentation"
4201 + new-instance v4, Ljava/lang/StringBuilder;
4203 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4205 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: Settings permit "
4207 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4209 + move-result-object v4
4211 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4213 + move-result-object v5
4215 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4217 + move-result-object v4
4219 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4221 + move-result-object v4
4223 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4227 + move-object/from16 v0, p0
4229 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4231 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4233 + move-result-object v4
4235 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4239 + const-string/jumbo v6, "phoneCall"
4243 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4248 + const-string v2, "Instrumentation"
4250 + new-instance v4, Ljava/lang/StringBuilder;
4252 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4254 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call denied: Settings deny "
4256 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4258 + move-result-object v4
4260 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4262 + move-result-object v5
4264 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4266 + move-result-object v4
4268 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4270 + move-result-object v4
4272 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4274 + move-object/from16 v20, p1
4278 + new-instance v2, Ljava/lang/Thread;
4280 + new-instance v4, Landroid/app/Instrumentation$3;
4282 + move-object/from16 v0, p0
4284 + move-object/from16 v1, v20
4286 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$3;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
4288 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
4290 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
4292 + move-object/from16 v0, p0
4294 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4296 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4298 + move-result-object v4
4300 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4304 + const-string/jumbo v6, "phoneCall"
4308 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4310 + .catch Ljava/lang/Exception; {:try_start_125 .. :try_end_1e6} :catch_103
4315 + const-string v2, "Instrumentation"
4317 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for unknown package"
4319 + move-object/from16 v0, v16
4321 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4331 + add-int/lit8 v17, v17, 0x1
4339 + .catchall {:try_start_1fa .. :try_end_1fb} :catchall_215
4342 + if-nez v14, :cond_218
4345 + new-instance v2, Landroid/app/Instrumentation$ActivityResult;
4347 + move/from16 v0, p6
4349 + move-object/from16 v1, p5
4351 + invoke-direct {v2, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
4353 + .catch Ljava/lang/Exception; {:try_start_1fd .. :try_end_206} :catch_208
4358 + move-exception v16
4360 + const-string v2, "Instrumentation"
4362 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred while trying to create ActivityResult"
4364 + move-object/from16 v0, v16
4366 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4382 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
4384 + .catchall {:try_start_216 .. :try_end_217} :catchall_215
4393 + move-object/from16 v0, p5
4395 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
4397 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
4399 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
4401 + move-result-object v2
4403 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
4405 + move-result-object v4
4407 + move-object/from16 v0, p5
4409 + invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
4411 + move-result-object v5
4413 + if-eqz p4, :cond_24e
4415 + move-object/from16 v0, p4
4417 + iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
4426 + move-object/from16 v4, p5
4428 + move-object/from16 v6, p3
4430 + move/from16 v8, p6
4432 + move-object/from16 v12, p7
4434 + invoke-interface/range {v2 .. v12}, Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILjava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;)I
4438 + move/from16 v0, v19
4440 + move-object/from16 v1, p5
4442 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
4444 + .catch Landroid/os/RemoteException; {:try_start_219 .. :try_end_24b} :catch_250
4465 .method public finish(ILandroid/os/Bundle;)V
4466 diff -Npru stock-framework/smali/android/content/AsyncTaskLoader.smali opd-framework/smali/android/content/AsyncTaskLoader.smali
4467 --- stock-framework/smali/android/content/AsyncTaskLoader.smali 2013-01-09 02:52:59.543614277 -0600
4468 +++ opd-framework/smali/android/content/AsyncTaskLoader.smali 2013-01-09 02:52:39.895516847 -0600
4469 @@ -167,11 +167,11 @@
4471 iget-object v0, p0, Landroid/content/AsyncTaskLoader;->mTask:Landroid/content/AsyncTaskLoader$LoadTask;
4473 - if-eqz v0, :cond_20
4474 + if-eqz v0, :cond_21
4476 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4478 - const-string v0, "mTask="
4479 + const-string/jumbo v0, "mTask="
4481 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4483 @@ -189,10 +189,10 @@
4485 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Z)V
4489 iget-object v0, p0, Landroid/content/AsyncTaskLoader;->mCancellingTask:Landroid/content/AsyncTaskLoader$LoadTask;
4491 - if-eqz v0, :cond_3d
4492 + if-eqz v0, :cond_3e
4494 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4496 @@ -214,14 +214,14 @@
4498 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Z)V
4502 iget-wide v0, p0, Landroid/content/AsyncTaskLoader;->mUpdateThrottle:J
4504 const-wide/16 v2, 0x0
4508 - if-eqz v0, :cond_64
4509 + if-eqz v0, :cond_65
4511 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4515 invoke-virtual {p3}, Ljava/io/PrintWriter;->println()V
4522 diff -Npru stock-framework/smali/android/content/ContentProviderOperation.smali opd-framework/smali/android/content/ContentProviderOperation.smali
4523 --- stock-framework/smali/android/content/ContentProviderOperation.smali 2013-01-09 02:52:59.595614535 -0600
4524 +++ opd-framework/smali/android/content/ContentProviderOperation.smali 2013-01-09 02:52:39.955517141 -0600
4525 @@ -1216,7 +1216,7 @@
4527 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
4529 - const-string v1, "mType: "
4530 + const-string/jumbo v1, "mType: "
4532 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4534 diff -Npru stock-framework/smali/android/content/ContentResolver.smali opd-framework/smali/android/content/ContentResolver.smali
4535 --- stock-framework/smali/android/content/ContentResolver.smali 2013-01-09 02:52:59.027611715 -0600
4536 +++ opd-framework/smali/android/content/ContentResolver.smali 2013-01-09 02:52:38.819511512 -0600
4537 @@ -3541,8 +3541,8 @@
4539 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
4541 - .catchall {:try_start_a .. :try_end_1d} :catchall_b9
4542 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
4543 + .catchall {:try_start_a .. :try_end_1d} :catchall_d5
4544 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_c2
4547 move-object/from16 v4, p1
4548 @@ -3557,25 +3557,39 @@
4551 invoke-interface/range {v3 .. v9}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
4553 - .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
4554 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
4555 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
4557 move-result-object v19
4560 - if-nez v19, :cond_6c
4561 + move-object/from16 v0, p0
4563 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4565 + move-object/from16 v0, p1
4567 + move-object/from16 v1, p2
4569 + move-object/from16 v2, v19
4571 + 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;
4573 + .catchall {:try_start_27 .. :try_end_38} :catchall_d5
4574 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_38} :catch_4c
4575 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_38} :catch_c2
4577 + move-result-object v19
4580 + if-nez v19, :cond_88
4584 - if-eqz v3, :cond_36
4585 + if-eqz v3, :cond_44
4587 move-object/from16 v0, p0
4589 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4595 move-object/from16 v0, p0
4596 @@ -3584,32 +3598,32 @@
4606 move-object/from16 v0, p0
4608 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
4610 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4612 - .catchall {:try_start_3f .. :try_end_47} :catchall_b9
4613 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
4615 + .catchall {:try_start_4d .. :try_end_55} :catchall_d5
4616 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_c2
4618 move-result-object v10
4620 - if-nez v10, :cond_5b
4621 + if-nez v10, :cond_69
4625 - if-eqz v3, :cond_53
4626 + if-eqz v3, :cond_61
4628 move-object/from16 v0, p0
4630 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4636 move-object/from16 v0, p0
4637 @@ -3618,7 +3632,7 @@
4643 move-object/from16 v11, p1
4645 move-object/from16 v12, p2
4646 @@ -3631,14 +3645,28 @@
4648 move-object/from16 v16, v9
4652 invoke-interface/range {v10 .. v16}, Landroid/content/IContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
4654 move-result-object v19
4657 + move-object/from16 v0, p0
4659 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4661 + move-object/from16 v0, p1
4663 + move-object/from16 v1, p2
4665 + move-object/from16 v2, v19
4667 + 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;
4669 + move-result-object v19
4675 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
4677 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
4678 @@ -3661,11 +3689,11 @@
4680 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
4682 - if-eqz v10, :cond_a1
4683 + if-eqz v10, :cond_bd
4689 move-object/from16 v0, v22
4691 move-object/from16 v1, p0
4692 @@ -3673,19 +3701,19 @@
4693 move-object/from16 v2, v19
4695 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
4697 - .catchall {:try_start_67 .. :try_end_90} :catchall_b9
4698 - .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
4700 + .catchall {:try_start_75 .. :try_end_ac} :catchall_d5
4701 + .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_ac} :catch_c2
4705 - if-eqz v3, :cond_98
4706 + if-eqz v3, :cond_b4
4708 move-object/from16 v0, p0
4710 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4716 move-object/from16 v0, p0
4717 @@ -3694,29 +3722,29 @@
4725 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4727 - .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
4728 - .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
4730 + .catchall {:try_start_bd .. :try_end_c0} :catchall_d5
4731 + .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c0} :catch_c2
4733 move-result-object v4
4744 - if-eqz v3, :cond_b0
4745 + if-eqz v3, :cond_cc
4747 move-object/from16 v0, p0
4749 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4755 move-object/from16 v0, p0
4756 @@ -3725,23 +3753,23 @@
4764 - if-eqz v3, :cond_c1
4765 + if-eqz v3, :cond_dd
4767 move-object/from16 v0, p0
4769 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4772 - if-eqz v10, :cond_c8
4774 + if-eqz v10, :cond_e4
4776 move-object/from16 v0, p0
4778 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4785 diff -Npru stock-framework/smali/android/hardware/Camera$EventHandler.smali opd-framework/smali/android/hardware/Camera$EventHandler.smali
4786 --- stock-framework/smali/android/hardware/Camera$EventHandler.smali 2013-01-09 02:53:00.379618419 -0600
4787 +++ opd-framework/smali/android/hardware/Camera$EventHandler.smali 2013-01-09 02:52:40.559520136 -0600
4788 @@ -36,418 +36,644 @@
4791 .method public handleMessage(Landroid/os/Message;)V
4798 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4800 + #getter for: Landroid/hardware/Camera;->privacyMode:Z
4801 + invoke-static {v0}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Z
4805 + if-nez v0, :cond_e
4807 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4809 + #calls: Landroid/hardware/Camera;->initiate()V
4810 + invoke-static {v0}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)V
4813 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4815 + #calls: Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
4816 + invoke-static {v0}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
4818 + move-result-object v10
4820 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4822 + #calls: Landroid/hardware/Camera;->checkIfPackagesAllowed()I
4823 + invoke-static {v0}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)I
4829 + if-ne v0, v1, :cond_68
4833 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4837 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
4838 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
4840 + if-eqz v10, :cond_48
4842 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4844 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4845 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4847 + move-result-object v0
4851 + aget-object v1, v10, v1
4855 - iget v4, p1, Landroid/os/Message;->what:I
4858 + const-string v4, "camera"
4862 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4864 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4865 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4867 + move-result-object v6
4871 + aget-object v12, v10, v12
4873 + invoke-static {}, Landroid/os/Process;->myUid()I
4877 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4879 - sparse-switch v4, :sswitch_data_158
4880 + move-result-object v6
4882 - const-string v3, "Camera"
4883 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
4885 - new-instance v4, Ljava/lang/StringBuilder;
4888 + iget v0, p1, Landroid/os/Message;->what:I
4890 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4891 + sparse-switch v0, :sswitch_data_218
4893 - const-string v5, "Unknown message type "
4894 + const-string v0, "Camera"
4896 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4897 + new-instance v1, Ljava/lang/StringBuilder;
4899 - move-result-object v4
4900 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4902 - iget v5, p1, Landroid/os/Message;->what:I
4903 + const-string v2, "Unknown message type "
4905 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4906 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4908 - move-result-object v4
4909 + move-result-object v1
4911 + iget v2, p1, Landroid/os/Message;->what:I
4913 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4915 + move-result-object v1
4917 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4918 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4920 - move-result-object v4
4921 + move-result-object v1
4923 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4924 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4933 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4935 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4939 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
4940 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
4942 + if-eqz v10, :cond_48
4944 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4946 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4947 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4949 + move-result-object v0
4953 + aget-object v1, v10, v1
4959 + const-string v4, "camera"
4963 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4965 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4966 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4968 + move-result-object v6
4972 + aget-object v12, v10, v12
4974 + invoke-static {}, Landroid/os/Process;->myUid()I
4978 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4980 + move-result-object v6
4982 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
4987 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4989 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4990 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4991 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4993 - move-result-object v3
4994 + move-result-object v0
4996 - if-eqz v3, :cond_21
4997 + if-eqz v0, :cond_67
4999 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5000 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5002 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5003 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5004 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5006 - move-result-object v3
5007 + move-result-object v0
5009 - invoke-interface {v3}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
5010 + invoke-interface {v0}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
5016 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5018 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5020 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5021 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5022 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5024 + move-result-object v0
5026 - move-result-object v3
5027 + if-eqz v0, :cond_67
5029 - if-eqz v3, :cond_21
5030 + if-eqz v7, :cond_c1
5032 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5033 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5035 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5036 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5037 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5039 - move-result-object v4
5040 + move-result-object v1
5042 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5043 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5051 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5052 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5054 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5055 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5061 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5063 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5065 + #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5066 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5068 + move-result-object v0
5072 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5074 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5079 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5081 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5082 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5083 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5085 - move-result-object v3
5086 + move-result-object v0
5088 - if-eqz v3, :cond_21
5089 + if-eqz v0, :cond_67
5091 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5092 + if-eqz v7, :cond_eb
5094 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5096 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5097 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5098 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5100 - move-result-object v4
5101 + move-result-object v1
5103 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5104 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5112 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5113 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5115 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5116 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5122 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5124 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5126 - #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5127 - invoke-static {v4}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5128 + #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5129 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5131 + move-result-object v0
5133 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5135 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5136 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5138 move-result-object v1
5140 - if-eqz v1, :cond_21
5141 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5143 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5145 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5149 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5151 + #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5152 + invoke-static {v0}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5154 + move-result-object v9
5156 + if-eqz v9, :cond_67
5158 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5160 #getter for: Landroid/hardware/Camera;->mOneShot:Z
5161 - invoke-static {v4}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;)Z
5162 + invoke-static {v0}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Z
5167 - if-eqz v4, :cond_8a
5168 + if-eqz v0, :cond_123
5170 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5171 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5176 #setter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5177 - invoke-static {v3, v4}, Landroid/hardware/Camera;->access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5178 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5182 + if-eqz v7, :cond_133
5186 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5187 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5195 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5196 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5198 - invoke-interface {v1, v3, v4}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5199 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5205 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5207 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5209 #getter for: Landroid/hardware/Camera;->mWithBuffer:Z
5210 - invoke-static {v4}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Z
5211 + invoke-static {v0}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Z
5215 + if-nez v0, :cond_114
5218 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5220 - if-nez v4, :cond_7e
5223 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5226 #calls: Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5227 - invoke-static {v4, v3, v2}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;ZZ)V
5228 + invoke-static {v0, v1, v2}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;ZZ)V
5233 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5236 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5237 + invoke-static {v0}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5239 + move-result-object v0
5242 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5243 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5245 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5250 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5252 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5253 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5254 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5256 - move-result-object v3
5257 + move-result-object v0
5259 - if-eqz v3, :cond_21
5260 + if-eqz v0, :cond_67
5262 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5263 + if-eqz v7, :cond_15d
5265 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5267 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5268 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5269 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5271 - move-result-object v4
5272 + move-result-object v1
5274 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5275 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5283 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5284 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5286 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5287 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5295 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5297 + #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5298 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5300 + move-result-object v0
5302 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5304 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5305 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5307 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5308 + move-result-object v1
5310 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5312 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5319 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5321 #getter for: Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5322 - invoke-static {v4}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5323 + invoke-static {v0}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5325 - move-result-object v4
5326 + move-result-object v1
5332 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5334 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5336 #getter for: Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5337 - invoke-static {v5}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5338 + invoke-static {v0}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5340 - move-result-object v0
5341 + move-result-object v8
5345 - .catchall {:try_start_bb .. :try_end_c2} :catchall_cf
5348 + .catchall {:try_start_178 .. :try_end_17f} :catchall_18d
5350 - if-eqz v0, :cond_21
5351 + if-eqz v8, :cond_67
5353 - iget v4, p1, Landroid/os/Message;->arg1:I
5354 + iget v0, p1, Landroid/os/Message;->arg1:I
5356 - if-nez v4, :cond_d2
5357 + if-nez v0, :cond_190
5360 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5363 - invoke-interface {v0, v2, v3}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5365 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5368 + invoke-interface {v8, v11, v0}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5377 - .catchall {:try_start_d0 .. :try_end_d1} :catchall_cf
5385 + .catchall {:try_start_18e .. :try_end_18f} :catchall_18d
5396 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5400 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5402 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5403 - invoke-static {v4}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5404 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5406 - move-result-object v4
5407 + move-result-object v0
5409 - if-eqz v4, :cond_21
5410 + if-eqz v0, :cond_67
5412 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5413 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5415 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5416 - invoke-static {v4}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5417 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5419 - move-result-object v4
5420 + move-result-object v1
5422 - iget v5, p1, Landroid/os/Message;->arg1:I
5423 + iget v2, p1, Landroid/os/Message;->arg1:I
5425 - iget v6, p1, Landroid/os/Message;->arg2:I
5426 + iget v0, p1, Landroid/os/Message;->arg2:I
5428 - if-eqz v6, :cond_ef
5429 + if-eqz v0, :cond_1ae
5432 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5435 - invoke-interface {v4, v5, v3, v6}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5437 + iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5440 + invoke-interface {v1, v2, v0, v3}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5451 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5455 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5457 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5458 - invoke-static {v3}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5459 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5461 - move-result-object v3
5462 + move-result-object v0
5464 - if-eqz v3, :cond_21
5465 + if-eqz v0, :cond_67
5467 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5468 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5470 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5471 - invoke-static {v3}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5472 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5474 - move-result-object v4
5475 + move-result-object v1
5477 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5478 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5480 - check-cast v3, [Landroid/hardware/Camera$Face;
5481 + check-cast v0, [Landroid/hardware/Camera$Face;
5483 - check-cast v3, [Landroid/hardware/Camera$Face;
5484 + check-cast v0, [Landroid/hardware/Camera$Face;
5486 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5487 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5489 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5490 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5496 - const-string v3, "Camera"
5498 + const-string v0, "Camera"
5500 - new-instance v4, Ljava/lang/StringBuilder;
5501 + new-instance v1, Ljava/lang/StringBuilder;
5503 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
5504 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
5506 - const-string v5, "Error "
5507 + const-string v2, "Error "
5509 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5510 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5512 - move-result-object v4
5513 + move-result-object v1
5515 - iget v5, p1, Landroid/os/Message;->arg1:I
5516 + iget v2, p1, Landroid/os/Message;->arg1:I
5518 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5519 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5521 - move-result-object v4
5522 + move-result-object v1
5524 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5525 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5527 - move-result-object v4
5528 + move-result-object v1
5530 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5531 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5533 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5534 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5536 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5537 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5538 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5540 - move-result-object v3
5541 + move-result-object v0
5543 - if-eqz v3, :cond_21
5544 + if-eqz v0, :cond_67
5546 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5547 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5549 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5550 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5551 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5553 - move-result-object v3
5554 + move-result-object v0
5556 - iget v4, p1, Landroid/os/Message;->arg1:I
5557 + iget v1, p1, Landroid/os/Message;->arg1:I
5559 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5560 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5562 - invoke-interface {v3, v4, v5}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5563 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5569 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5571 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5573 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5574 - invoke-static {v4}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5575 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5577 - move-result-object v4
5578 + move-result-object v0
5580 - if-eqz v4, :cond_21
5581 + if-eqz v0, :cond_67
5583 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5584 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5586 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5587 - invoke-static {v4}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5588 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5590 - move-result-object v4
5591 + move-result-object v1
5593 - iget v5, p1, Landroid/os/Message;->arg1:I
5594 + iget v0, p1, Landroid/os/Message;->arg1:I
5596 - if-nez v5, :cond_156
5597 + if-nez v0, :cond_216
5600 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5604 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5606 - invoke-interface {v4, v2, v3}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5607 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5623 - 0x1 -> :sswitch_10c
5624 - 0x2 -> :sswitch_22
5625 - 0x4 -> :sswitch_b3
5626 - 0x8 -> :sswitch_d4
5627 - 0x10 -> :sswitch_68
5628 - 0x40 -> :sswitch_98
5629 - 0x80 -> :sswitch_34
5630 - 0x100 -> :sswitch_4e
5631 - 0x400 -> :sswitch_f1
5632 - 0x800 -> :sswitch_13d
5633 + 0x1 -> :sswitch_1cb
5634 + 0x2 -> :sswitch_93
5635 + 0x4 -> :sswitch_170
5636 + 0x8 -> :sswitch_192
5637 + 0x10 -> :sswitch_fe
5638 + 0x40 -> :sswitch_140
5639 + 0x80 -> :sswitch_a5
5640 + 0x100 -> :sswitch_ce
5641 + 0x400 -> :sswitch_1b0
5642 + 0x800 -> :sswitch_1fc
5645 diff -Npru stock-framework/smali/android/hardware/Camera.smali opd-framework/smali/android/hardware/Camera.smali
5646 --- stock-framework/smali/android/hardware/Camera.smali 2013-01-09 02:53:00.403618537 -0600
5647 +++ opd-framework/smali/android/hardware/Camera.smali 2013-01-09 02:52:40.563520160 -0600
5650 .field private static final CAMERA_MSG_ZOOM:I = 0x8
5652 +.field private static final GOT_ERROR:I = -0x3
5654 +.field private static final IS_ALLOWED:I = -0x1
5656 +.field private static final IS_NOT_ALLOWED:I = -0x2
5658 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,Camera"
5660 .field private static final TAG:Ljava/lang/String; = "Camera"
5664 +.field private context:Landroid/content/Context;
5666 .field private mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5668 .field private mAutoFocusCallbackLock:Ljava/lang/Object;
5671 .field private mOneShot:Z
5673 +.field private mPm:Landroid/content/pm/IPackageManager;
5675 .field private mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5677 .field private mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5678 @@ -98,16 +110,20 @@
5680 .field private mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5682 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
5684 +.field private privacyMode:Z
5688 .method constructor <init>()V
5692 - invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5696 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5698 - iput-boolean v0, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5699 + iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5701 new-instance v0, Ljava/lang/Object;
5703 @@ -115,19 +131,21 @@
5705 iput-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5707 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
5712 .method constructor <init>(I)V
5720 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5724 - iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5725 + iput-boolean v3, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5727 new-instance v1, Ljava/lang/Object;
5731 iput-object v1, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5733 + iput-boolean v3, p0, Landroid/hardware/Camera;->privacyMode:Z
5735 iput-object v2, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5737 iput-object v2, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5738 @@ -147,11 +167,13 @@
5740 iput-object v2, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5742 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
5744 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
5746 move-result-object v0
5748 - if-eqz v0, :cond_30
5749 + if-eqz v0, :cond_35
5751 new-instance v1, Landroid/hardware/Camera$EventHandler;
5755 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5759 new-instance v1, Ljava/lang/ref/WeakReference;
5761 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
5762 @@ -168,12 +190,12 @@
5768 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
5770 move-result-object v0
5772 - if-eqz v0, :cond_3e
5773 + if-eqz v0, :cond_43
5775 new-instance v1, Landroid/hardware/Camera$EventHandler;
5777 @@ -181,12 +203,12 @@
5779 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5786 iput-object v2, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5792 .method private final native _addCallbackBuffer([BI)V
5793 @@ -207,122 +229,184 @@
5794 .method private final native _stopPreview()V
5797 -.method static synthetic access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5798 +.method static synthetic access$000(Landroid/hardware/Camera;)Z
5801 - iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5802 + iget-boolean v0, p0, Landroid/hardware/Camera;->privacyMode:Z
5808 -.method static synthetic access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5809 +.method static synthetic access$100(Landroid/hardware/Camera;)V
5812 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
5817 +.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5820 - iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5821 + iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5826 -.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5827 +.method static synthetic access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5830 - iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5831 + iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5836 +.method static synthetic access$1100(Landroid/hardware/Camera;)Z
5839 + iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
5844 +.method static synthetic access$1200(Landroid/hardware/Camera;)Z
5847 + iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
5852 +.method static synthetic access$1300(Landroid/hardware/Camera;ZZ)V
5855 + invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5860 +.method static synthetic access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5863 + iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5868 -.method static synthetic access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5869 +.method static synthetic access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5872 - iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5873 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5878 -.method static synthetic access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5879 +.method static synthetic access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5882 - iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5883 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5888 -.method static synthetic access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5889 +.method static synthetic access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5892 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5893 + iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5898 -.method static synthetic access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5899 +.method static synthetic access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5902 - iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5903 + iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5908 -.method static synthetic access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5909 +.method static synthetic access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5912 - iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5913 + iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5918 -.method static synthetic access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5919 +.method static synthetic access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
5922 - iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5923 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5926 + move-result-object v0
5931 -.method static synthetic access$400(Landroid/hardware/Camera;)Z
5932 +.method static synthetic access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5935 - iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
5936 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5942 -.method static synthetic access$500(Landroid/hardware/Camera;)Z
5943 +.method static synthetic access$300(Landroid/hardware/Camera;)I
5946 - iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
5947 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
5954 -.method static synthetic access$600(Landroid/hardware/Camera;ZZ)V
5956 +.method static synthetic access$400(Landroid/hardware/Camera;Z)V
5959 - invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5960 + invoke-direct {p0, p1}, Landroid/hardware/Camera;->dataAccess(Z)V
5965 +.method static synthetic access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5968 + iget-object v0, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5973 +.method static synthetic access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5976 + iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5981 .method static synthetic access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5984 - iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5985 + iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5990 -.method static synthetic access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5991 +.method static synthetic access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5994 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5995 + iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6000 -.method static synthetic access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
6001 +.method static synthetic access$900(Landroid/hardware/Camera;)[B
6004 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
6005 + invoke-direct {p0}, Landroid/hardware/Camera;->getFakeImage()[B
6007 + move-result-object v0
6011 @@ -368,6 +452,205 @@
6015 +.method private checkIfPackagesAllowed()I
6021 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6023 + if-eqz v6, :cond_41
6027 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
6029 + move-result-object v3
6031 + invoke-static {}, Landroid/os/Process;->myUid()I
6035 + if-eqz v3, :cond_2c
6040 + array-length v6, v3
6042 + if-ge v1, v6, :cond_2a
6044 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6046 + aget-object v7, v3, v1
6048 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6050 + move-result-object v2
6052 + if-eqz v2, :cond_26
6054 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
6058 + if-eqz v6, :cond_26
6068 + add-int/lit8 v1, v1, 0x1
6078 + const-string v6, "PM,Camera"
6080 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
6082 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6084 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
6091 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6093 + const-string v6, "PM,Camera"
6095 + const-string v7, "Got exception in checkIfPackagesAllowed"
6097 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6103 + const-string v6, "PM,Camera"
6105 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
6107 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6109 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
6114 +.method private dataAccess(Z)V
6117 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
6119 + move-result-object v1
6121 + if-eqz p1, :cond_2f
6123 + if-eqz v1, :cond_2f
6128 + array-length v2, v1
6130 + if-ge v0, v2, :cond_58
6132 + const-string v2, "PM,Camera"
6134 + new-instance v3, Ljava/lang/StringBuilder;
6136 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6138 + const-string v4, "Allowed Package: -"
6140 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6142 + move-result-object v3
6144 + aget-object v4, v1, v0
6146 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6148 + move-result-object v3
6150 + const-string v4, "- accessing camera."
6152 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6154 + move-result-object v3
6156 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6158 + move-result-object v3
6160 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6162 + add-int/lit8 v0, v0, 0x1
6167 + if-eqz v1, :cond_58
6172 + array-length v2, v1
6174 + if-ge v0, v2, :cond_58
6176 + const-string v2, "PM,Camera"
6178 + new-instance v3, Ljava/lang/StringBuilder;
6180 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6182 + const-string v4, "Blocked Package: -"
6184 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6186 + move-result-object v3
6188 + aget-object v4, v1, v0
6190 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6192 + move-result-object v3
6194 + const-string v4, "- accessing camera."
6196 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6198 + move-result-object v3
6200 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6202 + move-result-object v3
6204 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6206 + add-int/lit8 v0, v0, 0x1
6214 .method private native enableFocusMoveCallback(I)V
6217 @@ -433,9 +716,193 @@
6221 +.method private getFakeImage()[B
6225 + const-string v2, "/system/media/PDroid.jpeg"
6227 + new-instance v5, Ljava/io/File;
6229 + invoke-direct {v5, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6233 + new-instance v3, Ljava/io/FileInputStream;
6235 + invoke-direct {v3, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
6237 + invoke-static {v3}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
6239 + move-result-object v0
6241 + new-instance v4, Ljava/io/ByteArrayOutputStream;
6243 + invoke-direct {v4}, Ljava/io/ByteArrayOutputStream;-><init>()V
6245 + sget-object v6, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
6249 + invoke-virtual {v0, v6, v7, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
6251 + invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
6253 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_20} :catch_22
6255 + move-result-object v6
6263 + const-string v6, "PM,Camera"
6265 + const-string/jumbo v7, "something went wrong with getting the picture!"
6267 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6269 + invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
6276 .method public static native getNumberOfCameras()I
6279 +.method private getPackageName()[Ljava/lang/String;
6283 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6285 + if-eqz v3, :cond_f
6287 + invoke-static {}, Landroid/os/Process;->myUid()I
6291 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6293 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6295 + move-result-object v1
6301 + const-string/jumbo v3, "package"
6303 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6305 + move-result-object v3
6307 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6309 + move-result-object v3
6311 + iput-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6313 + invoke-static {}, Landroid/os/Process;->myUid()I
6317 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6319 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6321 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6323 + move-result-object v1
6330 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6332 + const-string v3, "PM,Camera"
6334 + const-string/jumbo v4, "something went wrong with getting package name"
6336 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6343 +.method private initiate()V
6349 + iput-object v1, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6351 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6353 + iget-object v2, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6355 + const-string/jumbo v3, "privacy"
6357 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6359 + move-result-object v3
6361 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6363 + move-result-object v3
6365 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6367 + iput-object v1, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6369 + const-string/jumbo v1, "package"
6371 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6373 + move-result-object v1
6375 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6377 + move-result-object v1
6379 + iput-object v1, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6383 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6385 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6393 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6395 + const-string v1, "PM,Camera"
6397 + const-string v2, "Something went wrong with initalize variables"
6399 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6403 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6408 .method private final native native_autoFocus()V
6411 @@ -1018,7 +1485,7 @@
6414 .method public final takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
6418 iput-object p1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6420 @@ -1028,36 +1495,62 @@
6422 iput-object p4, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6424 + iget-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6426 + if-nez v1, :cond_f
6428 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
6431 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
6437 + if-ne v1, v2, :cond_20
6441 + iput-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6443 + const-string v1, "PM,Camera"
6445 + const-string v2, "blocked rawImageCallback -> it will never be called!"
6447 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6452 iget-object v1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6454 - if-eqz v1, :cond_f
6455 + if-eqz v1, :cond_27
6457 or-int/lit8 v0, v0, 0x2
6461 iget-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6463 - if-eqz v1, :cond_15
6464 + if-eqz v1, :cond_2d
6466 or-int/lit16 v0, v0, 0x80
6470 iget-object v1, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
6472 - if-eqz v1, :cond_1b
6473 + if-eqz v1, :cond_33
6475 or-int/lit8 v0, v0, 0x40
6479 iget-object v1, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6481 - if-eqz v1, :cond_21
6482 + if-eqz v1, :cond_39
6484 or-int/lit16 v0, v0, 0x100
6488 invoke-direct {p0, v0}, Landroid/hardware/Camera;->native_takePicture(I)V
6491 diff -Npru stock-framework/smali/android/media/AudioRecord.smali opd-framework/smali/android/media/AudioRecord.smali
6492 --- stock-framework/smali/android/media/AudioRecord.smali 2013-01-09 02:53:00.791620465 -0600
6493 +++ opd-framework/smali/android/media/AudioRecord.smali 2013-01-09 02:52:40.735521013 -0600
6496 .field public static final ERROR_INVALID_OPERATION:I = -0x3
6498 +.field private static final GOT_ERROR:I = -0x3
6500 +.field private static final IS_ALLOWED:I = -0x1
6502 +.field private static final IS_NOT_ALLOWED:I = -0x2
6504 .field private static final NATIVE_EVENT_MARKER:I = 0x2
6506 .field private static final NATIVE_EVENT_NEW_POS:I = 0x3
6508 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,AudioRecord"
6510 .field public static final RECORDSTATE_RECORDING:I = 0x3
6512 .field public static final RECORDSTATE_STOPPED:I = 0x1
6517 +.field private context:Landroid/content/Context;
6519 .field private mAudioFormat:I
6521 .field private mChannelConfiguration:I
6524 .field private mNativeRecorderInJavaObj:I
6526 +.field private mPm:Landroid/content/pm/IPackageManager;
6528 .field private mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
6530 .field private final mPositionListenerLock:Ljava/lang/Object;
6533 .field private mState:I
6535 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
6537 +.field private privacyMode:Z
6541 .method public constructor <init>(IIIII)V
6542 @@ -159,6 +175,10 @@
6546 + iput-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
6550 iput v0, p0, Landroid/media/AudioRecord;->mState:I
6555 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
6557 - if-nez v0, :cond_4f
6558 + if-nez v0, :cond_52
6560 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
6564 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
6568 invoke-direct {p0, p1, p2, p3, p4}, Landroid/media/AudioRecord;->audioParamCheck(IIII)V
6570 invoke-direct {p0, p5}, Landroid/media/AudioRecord;->audioBuffSizeCheck(I)V
6575 - if-eqz v8, :cond_8f
6576 + if-eqz v8, :cond_92
6578 new-instance v0, Ljava/lang/StringBuilder;
6580 @@ -242,10 +262,12 @@
6582 invoke-static {v0}, Landroid/media/AudioRecord;->loge(Ljava/lang/String;)V
6590 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
6597 iput v0, p0, Landroid/media/AudioRecord;->mState:I
6603 .method static synthetic access$000(Landroid/media/AudioRecord;)Ljava/lang/Object;
6604 @@ -481,6 +503,205 @@
6608 +.method private checkIfPackagesAllowed()I
6614 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6616 + if-eqz v6, :cond_41
6620 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6622 + move-result-object v3
6624 + invoke-static {}, Landroid/os/Process;->myUid()I
6628 + if-eqz v3, :cond_2c
6633 + array-length v6, v3
6635 + if-ge v1, v6, :cond_2a
6637 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6639 + aget-object v7, v3, v1
6641 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6643 + move-result-object v2
6645 + if-eqz v2, :cond_26
6647 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
6651 + if-eqz v6, :cond_26
6661 + add-int/lit8 v1, v1, 0x1
6671 + const-string v6, "PM,AudioRecord"
6673 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
6675 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6677 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
6684 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6686 + const-string v6, "PM,AudioRecord"
6688 + const-string v7, "Got exception in checkIfPackagesAllowed"
6690 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6696 + const-string v6, "PM,AudioRecord"
6698 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
6700 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6702 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
6707 +.method private dataAccess(Z)V
6710 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6712 + move-result-object v1
6714 + if-eqz p1, :cond_2f
6716 + if-eqz v1, :cond_2f
6721 + array-length v2, v1
6723 + if-ge v0, v2, :cond_58
6725 + const-string v2, "PM,AudioRecord"
6727 + new-instance v3, Ljava/lang/StringBuilder;
6729 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6731 + const-string v4, "Allowed Package: -"
6733 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6735 + move-result-object v3
6737 + aget-object v4, v1, v0
6739 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6741 + move-result-object v3
6743 + const-string v4, "- accessing microphone."
6745 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6747 + move-result-object v3
6749 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6751 + move-result-object v3
6753 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6755 + add-int/lit8 v0, v0, 0x1
6760 + if-eqz v1, :cond_58
6765 + array-length v2, v1
6767 + if-ge v0, v2, :cond_58
6769 + const-string v2, "PM,AudioRecord"
6771 + new-instance v3, Ljava/lang/StringBuilder;
6773 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6775 + const-string v4, "Blocked Package: -"
6777 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6779 + move-result-object v3
6781 + aget-object v4, v1, v0
6783 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6785 + move-result-object v3
6787 + const-string v4, "- accessing microphone."
6789 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6791 + move-result-object v3
6793 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6795 + move-result-object v3
6797 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6799 + add-int/lit8 v0, v0, 0x1
6807 .method public static getMinBufferSize(III)I
6810 @@ -571,6 +792,135 @@
6814 +.method private getPackageName()[Ljava/lang/String;
6818 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6820 + if-eqz v3, :cond_f
6822 + invoke-static {}, Landroid/os/Process;->myUid()I
6826 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6828 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6830 + move-result-object v1
6836 + const-string/jumbo v3, "package"
6838 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6840 + move-result-object v3
6842 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6844 + move-result-object v3
6846 + iput-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6848 + invoke-static {}, Landroid/os/Process;->myUid()I
6852 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6854 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6856 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6858 + move-result-object v1
6865 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6867 + const-string v3, "PM,AudioRecord"
6869 + const-string/jumbo v4, "something went wrong with getting package name"
6871 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6878 +.method private initiate()V
6884 + iput-object v1, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
6886 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6888 + iget-object v2, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
6890 + const-string/jumbo v3, "privacy"
6892 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6894 + move-result-object v3
6896 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6898 + move-result-object v3
6900 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6902 + iput-object v1, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6904 + const-string/jumbo v1, "package"
6906 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6908 + move-result-object v1
6910 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6912 + move-result-object v1
6914 + iput-object v1, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6918 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
6920 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6928 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6930 + const-string v1, "PM,AudioRecord"
6932 + const-string v2, "Something went wrong with initalize variables"
6934 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6938 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
6943 .method private static logd(Ljava/lang/String;)V
6946 @@ -1021,19 +1371,68 @@
6949 .method public startRecording()V
6952 .annotation system Ldalvik/annotation/Throws;
6954 Ljava/lang/IllegalStateException;
6964 + iget-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
6966 + if-nez v0, :cond_a
6968 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
6971 iget v0, p0, Landroid/media/AudioRecord;->mState:I
6974 + if-ne v0, v3, :cond_15
6976 + invoke-direct {p0}, Landroid/media/AudioRecord;->checkIfPackagesAllowed()I
6982 + if-ne v0, v1, :cond_3d
6984 - if-eq v0, v1, :cond_e
6986 + invoke-direct {p0, v2}, Landroid/media/AudioRecord;->dataAccess(Z)V
6988 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6990 + move-result-object v7
6992 + if-eqz v7, :cond_34
6994 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6996 + aget-object v1, v7, v2
6998 + const-string/jumbo v4, "recordAudio"
7000 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7002 + aget-object v8, v7, v2
7004 + invoke-static {}, Landroid/os/Process;->myUid()I
7008 + invoke-virtual {v6, v8, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7010 + move-result-object v6
7012 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7015 new-instance v0, Ljava/lang/IllegalStateException;
7017 const-string/jumbo v1, "startRecording() called on an uninitialized AudioRecord."
7018 @@ -1042,7 +1441,38 @@
7024 + invoke-direct {p0, v3}, Landroid/media/AudioRecord;->dataAccess(Z)V
7026 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
7028 + move-result-object v7
7030 + if-eqz v7, :cond_5d
7032 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7034 + aget-object v1, v7, v2
7036 + const-string/jumbo v4, "recordAudio"
7038 + iget-object v3, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7040 + aget-object v6, v7, v2
7042 + invoke-static {}, Landroid/os/Process;->myUid()I
7046 + invoke-virtual {v3, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7048 + move-result-object v6
7052 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7055 iget-object v1, p0, Landroid/media/AudioRecord;->mRecordingStateLock:Ljava/lang/Object;
7058 @@ -1051,28 +1481,28 @@
7064 invoke-direct {p0, v0, v2}, Landroid/media/AudioRecord;->native_start(II)I
7068 - if-nez v0, :cond_1c
7069 + if-nez v0, :cond_6b
7073 iput v0, p0, Landroid/media/AudioRecord;->mRecordingState:I
7087 - .catchall {:try_start_13 .. :try_end_20} :catchall_1e
7089 + .catchall {:try_start_62 .. :try_end_6f} :catchall_6d
7093 diff -Npru stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali opd-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali
7094 --- stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 1969-12-31 18:00:00.000000000 -0600
7095 +++ opd-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 2013-01-09 02:52:40.843521548 -0600
7097 +.class Landroid/media/MediaRecorder$PrivacyRunner;
7098 +.super Ljava/lang/Thread;
7099 +.source "MediaRecorder.java"
7103 +.annotation system Ldalvik/annotation/EnclosingClass;
7104 + value = Landroid/media/MediaRecorder;
7107 +.annotation system Ldalvik/annotation/InnerClass;
7109 + name = "PrivacyRunner"
7114 +.field private static final OFFSET_DELAY:J = 0x9c4L
7118 +.field private delay:J
7120 +.field final synthetic this$0:Landroid/media/MediaRecorder;
7124 +.method public constructor <init>(Landroid/media/MediaRecorder;)V
7127 + iput-object p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7129 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
7131 + const-wide/16 v0, 0x9c4
7133 + iput-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7140 +.method public getDelay()J
7143 + iget-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7148 +.method public run()V
7152 + iget-wide v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7154 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
7156 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7158 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7159 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7161 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7163 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7164 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7166 + move-result-object v2
7168 + if-eqz v2, :cond_2f
7170 + new-instance v1, Ljava/io/File;
7172 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7174 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7175 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7177 + move-result-object v2
7179 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7181 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7185 + if-eqz v2, :cond_29
7187 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7191 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7192 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7194 + .catchall {:try_start_0 .. :try_end_29} :catchall_73
7195 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_29} :catch_57
7199 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7202 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7203 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7209 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7211 + #getter for: Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7212 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7214 + move-result-object v2
7216 + if-eqz v2, :cond_65
7218 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7220 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7221 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7223 + move-result-object v2
7225 + if-eqz v2, :cond_65
7227 + new-instance v1, Ljava/io/File;
7229 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7231 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7232 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7234 + move-result-object v2
7236 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7238 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7242 + if-eqz v2, :cond_29
7244 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7248 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7249 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7251 + .catchall {:try_start_2f .. :try_end_56} :catchall_73
7252 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_56} :catch_57
7260 + const-string v2, "PM,MediaRecorder"
7262 + const-string v3, "Something went wrong while waiting for cancel the stream!"
7264 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7266 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7268 + .catchall {:try_start_58 .. :try_end_62} :catchall_73
7270 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7276 + const-string v2, "PM,MediaRecorder"
7278 + const-string v3, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
7280 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7282 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7286 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7287 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7289 + .catchall {:try_start_65 .. :try_end_72} :catchall_73
7290 + .catch Ljava/lang/Exception; {:try_start_65 .. :try_end_72} :catch_57
7297 + iget-object v3, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7299 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7300 + invoke-static {v3}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7305 +.method public setDelay(J)V
7308 + iput-wide p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7312 diff -Npru stock-framework/smali/android/media/MediaRecorder.smali opd-framework/smali/android/media/MediaRecorder.smali
7313 --- stock-framework/smali/android/media/MediaRecorder.smali 2013-01-09 02:53:00.987621433 -0600
7314 +++ opd-framework/smali/android/media/MediaRecorder.smali 2013-01-09 02:52:40.847521564 -0600
7317 .annotation system Ldalvik/annotation/MemberClasses;
7319 + Landroid/media/MediaRecorder$PrivacyRunner;,
7320 Landroid/media/MediaRecorder$EventHandler;,
7321 Landroid/media/MediaRecorder$OnInfoListener;,
7322 Landroid/media/MediaRecorder$OnErrorListener;,
7327 +.field private static final BOTH_DATA_ACCESS:I = 0xb
7329 +.field private static final GOT_ERROR:I = -0x3
7331 +.field private static final IS_ALLOWED:I = -0x1
7333 +.field private static final IS_NOT_ALLOWED:I = -0x2
7335 .field public static final MEDIA_ERROR_SERVER_DIED:I = 0x64
7337 .field public static final MEDIA_RECORDER_ERROR_UNKNOWN:I = 0x1
7340 .field public static final MEDIA_RECORDER_TRACK_INTER_CHUNK_TIME_MS:I = 0x3ee
7342 +.field private static final MIC_DATA_ACCESS:I = 0xa
7344 +.field private static final MODE_RECORD_AUDIO:I = 0x2
7346 +.field private static final MODE_RECORD_BOTH:I = 0x3
7348 +.field private static final PRIVACY_PATH_DEF:Ljava/lang/String; = "/data/data/"
7350 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MediaRecorder"
7352 +.field private static final STATE_RECORD_AUDIO:I = 0x0
7354 +.field private static final STATE_RECORD_BOTH:I = 0x1
7356 .field private static final TAG:Ljava/lang/String; = "MediaRecorder"
7360 +.field private ACTUAL_STATE:I
7362 +.field private context:Landroid/content/Context;
7364 +.field private deletedFile:Z
7366 .field private mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7368 .field private mFd:Ljava/io/FileDescriptor;
7371 .field private mPath:Ljava/lang/String;
7373 +.field private mPm:Landroid/content/pm/IPackageManager;
7375 .field private mSurface:Landroid/view/Surface;
7377 +.field private pFileDescriptor:Ljava/io/FileDescriptor;
7379 +.field private pFileDescriptorPath:Ljava/lang/String;
7381 +.field private pPath:Ljava/lang/String;
7383 +.field private pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7385 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
7387 +.field private privacyMode:Z
7389 +.field private stoppedStream:Z
7393 .method static constructor <clinit>()V
7394 @@ -86,15 +131,35 @@
7397 .method public constructor <init>()V
7405 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7407 + iput-object v1, p0, Landroid/media/MediaRecorder;->pPath:Ljava/lang/String;
7409 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7411 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptor:Ljava/io/FileDescriptor;
7413 + iput-object v1, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7415 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7417 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7419 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->stoppedStream:Z
7421 + iput v2, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7423 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
7425 move-result-object v0
7427 - if-eqz v0, :cond_19
7428 + if-eqz v0, :cond_2e
7430 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
7434 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7438 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
7440 new-instance v1, Ljava/lang/ref/WeakReference;
7442 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
7443 @@ -111,12 +178,12 @@
7449 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
7451 move-result-object v0
7453 - if-eqz v0, :cond_27
7454 + if-eqz v0, :cond_3c
7456 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
7458 @@ -124,14 +191,12 @@
7460 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7469 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7475 .method private native _prepare()V
7476 @@ -143,45 +208,1757 @@
7480 -.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
7481 - .annotation system Ldalvik/annotation/Throws;
7483 - Ljava/lang/IllegalStateException;,
7484 - Ljava/io/IOException;
7488 +.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
7489 + .annotation system Ldalvik/annotation/Throws;
7491 + Ljava/lang/IllegalStateException;,
7492 + Ljava/io/IOException;
7497 +.method static synthetic access$000(Landroid/media/MediaRecorder;)I
7500 + iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
7505 +.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
7508 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
7513 +.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
7516 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
7521 +.method static synthetic access$300(Landroid/media/MediaRecorder;)V
7524 + invoke-direct {p0}, Landroid/media/MediaRecorder;->privacyStop()V
7529 +.method static synthetic access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7532 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7537 +.method static synthetic access$502(Landroid/media/MediaRecorder;Z)Z
7540 + iput-boolean p1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7545 +.method static synthetic access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7548 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7553 +.method static synthetic access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7556 + iget-object v0, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7561 +.method private checkIfPackagesAllowed(I)I
7571 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7573 + if-eqz v8, :cond_5b
7577 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7579 + move-result-object v3
7581 + invoke-static {}, Landroid/os/Process;->myUid()I
7585 + if-eqz v3, :cond_51
7587 + packed-switch p1, :pswitch_data_72
7599 + array-length v8, v3
7601 + if-ge v1, v8, :cond_2f
7603 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7605 + aget-object v9, v3, v1
7607 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7609 + move-result-object v2
7611 + if-eqz v2, :cond_2b
7613 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7617 + if-nez v8, :cond_16
7622 + add-int/lit8 v1, v1, 0x1
7635 + array-length v8, v3
7637 + if-ge v1, v8, :cond_4f
7639 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7641 + aget-object v9, v3, v1
7643 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7645 + move-result-object v2
7647 + if-eqz v2, :cond_4b
7649 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7653 + if-nez v8, :cond_16
7655 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
7659 + if-nez v8, :cond_16
7664 + add-int/lit8 v1, v1, 0x1
7674 + const-string v5, "PM,MediaRecorder"
7676 + const-string/jumbo v6, "return GOT_ERROR, because package_names are NULL"
7678 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7685 + const-string v5, "PM,MediaRecorder"
7687 + const-string/jumbo v6, "return GOT_ERROR, because pSetMan is NULL"
7689 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7691 + .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_63} :catch_65
7700 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7702 + const-string v5, "PM,MediaRecorder"
7704 + const-string v6, "Got exception in checkIfPackagesAllowed"
7706 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7713 + .packed-switch 0x2
7716 + .end packed-switch
7719 +.method private dataAccess(ZI)V
7722 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7724 + move-result-object v1
7726 + if-eqz p1, :cond_5a
7728 + if-eqz v1, :cond_5a
7730 + packed-switch p2, :pswitch_data_ae
7740 + array-length v2, v1
7742 + if-ge v0, v2, :cond_b
7744 + const-string v2, "PM,MediaRecorder"
7746 + new-instance v3, Ljava/lang/StringBuilder;
7748 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7750 + const-string v4, "Allowed Package: -"
7752 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7754 + move-result-object v3
7756 + aget-object v4, v1, v0
7758 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7760 + move-result-object v3
7762 + const-string v4, "- accessing microphone."
7764 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7766 + move-result-object v3
7768 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7770 + move-result-object v3
7772 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7774 + add-int/lit8 v0, v0, 0x1
7782 + array-length v2, v1
7784 + if-ge v0, v2, :cond_b
7786 + const-string v2, "PM,MediaRecorder"
7788 + new-instance v3, Ljava/lang/StringBuilder;
7790 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7792 + const-string v4, "Allowed Package: -"
7794 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7796 + move-result-object v3
7798 + aget-object v4, v1, v0
7800 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7802 + move-result-object v3
7804 + const-string v4, "- accessing microphone and camera."
7806 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7808 + move-result-object v3
7810 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7812 + move-result-object v3
7814 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7816 + add-int/lit8 v0, v0, 0x1
7821 + if-eqz v1, :cond_b
7823 + packed-switch p2, :pswitch_data_b6
7831 + array-length v2, v1
7833 + if-ge v0, v2, :cond_b
7835 + const-string v2, "PM,MediaRecorder"
7837 + new-instance v3, Ljava/lang/StringBuilder;
7839 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7841 + const-string v4, "Blocked Package: -"
7843 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7845 + move-result-object v3
7847 + aget-object v4, v1, v0
7849 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7851 + move-result-object v3
7853 + const-string v4, "- accessing microphone."
7855 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7857 + move-result-object v3
7859 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7861 + move-result-object v3
7863 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7865 + add-int/lit8 v0, v0, 0x1
7873 + array-length v2, v1
7875 + if-ge v0, v2, :cond_b
7877 + const-string v2, "PM,MediaRecorder"
7879 + new-instance v3, Ljava/lang/StringBuilder;
7881 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7883 + const-string v4, "Blocked Package: -"
7885 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7887 + move-result-object v3
7889 + aget-object v4, v1, v0
7891 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7893 + move-result-object v3
7895 + const-string v4, "- accessing microphone and camera."
7897 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7899 + move-result-object v3
7901 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7903 + move-result-object v3
7905 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7907 + add-int/lit8 v0, v0, 0x1
7912 + .packed-switch 0xa
7915 + .end packed-switch
7918 + .packed-switch 0xa
7921 + .end packed-switch
7924 +.method public static final getAudioSourceMax()I
7932 +.method private getPackageName()[Ljava/lang/String;
7936 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7938 + if-eqz v3, :cond_f
7940 + invoke-static {}, Landroid/os/Process;->myUid()I
7944 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7946 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7948 + move-result-object v1
7954 + const-string/jumbo v3, "package"
7956 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7958 + move-result-object v3
7960 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
7962 + move-result-object v3
7964 + iput-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7966 + invoke-static {}, Landroid/os/Process;->myUid()I
7970 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7972 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7974 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
7976 + move-result-object v1
7983 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7985 + const-string v3, "PM,MediaRecorder"
7987 + const-string/jumbo v4, "something went wrong with getting package name"
7989 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7996 +.method private getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
7999 + invoke-direct/range {p0 .. p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8001 + move-result-object v12
8003 + new-instance v14, Ljava/util/Random;
8005 + invoke-direct {v14}, Ljava/util/Random;-><init>()V
8009 + new-instance v15, Ljava/lang/StringBuilder;
8011 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8013 + invoke-virtual {v14}, Ljava/util/Random;->nextLong()J
8015 + move-result-wide v16
8017 + invoke-virtual/range {v15 .. v17}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8019 + move-result-object v15
8021 + const-string v16, ".tmp"
8023 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8025 + move-result-object v15
8027 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8029 + move-result-object v2
8038 + array-length v15, v12
8040 + if-ge v11, v15, :cond_247
8043 + new-instance v9, Ljava/io/File;
8045 + new-instance v15, Ljava/lang/StringBuilder;
8047 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8049 + const-string v16, "/data/data/"
8051 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8053 + move-result-object v15
8055 + aget-object v16, v12, v11
8057 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8059 + move-result-object v15
8061 + const-string v16, "/cache/"
8063 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8065 + move-result-object v15
8067 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8069 + move-result-object v15
8071 + invoke-direct {v9, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8073 + invoke-virtual {v9}, Ljava/io/File;->mkdirs()Z
8075 + new-instance v8, Ljava/io/FileWriter;
8077 + new-instance v15, Ljava/lang/StringBuilder;
8079 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8081 + const-string v16, "/data/data/"
8083 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8085 + move-result-object v15
8087 + aget-object v16, v12, v11
8089 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8091 + move-result-object v15
8093 + const-string v16, "/cache/"
8095 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8097 + move-result-object v15
8099 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8101 + move-result-object v15
8103 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8105 + move-result-object v15
8107 + invoke-direct {v8, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8109 + .catchall {:try_start_27 .. :try_end_6e} :catchall_155
8110 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_15c
8113 + const-string/jumbo v15, "test"
8115 + invoke-virtual {v8, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8117 + invoke-virtual {v8}, Ljava/io/FileWriter;->flush()V
8119 + invoke-virtual {v8}, Ljava/io/FileWriter;->close()V
8121 + new-instance v4, Ljava/io/File;
8123 + new-instance v15, Ljava/lang/StringBuilder;
8125 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8127 + const-string v16, "/data/data/"
8129 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8131 + move-result-object v15
8133 + aget-object v16, v12, v11
8135 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8137 + move-result-object v15
8139 + const-string v16, "/cache/"
8141 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8143 + move-result-object v15
8145 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8147 + move-result-object v15
8149 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8151 + move-result-object v15
8153 + invoke-direct {v4, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8155 + .catchall {:try_start_6e .. :try_end_9e} :catchall_235
8156 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_23e
8159 + invoke-virtual {v4}, Ljava/io/File;->delete()Z
8161 + const-string v15, "PM,MediaRecorder"
8163 + new-instance v16, Ljava/lang/StringBuilder;
8165 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8167 + const-string v17, "found our package: "
8169 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8171 + move-result-object v16
8173 + aget-object v17, v12, v11
8175 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8177 + move-result-object v16
8179 + const-string v17, " with internal path. File: "
8181 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8183 + move-result-object v16
8185 + move-object/from16 v0, v16
8187 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8189 + move-result-object v16
8191 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8193 + move-result-object v16
8195 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8197 + aget-object v1, v12, v11
8199 + .catchall {:try_start_9e .. :try_end_c9} :catchall_239
8200 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c9} :catch_242
8206 + invoke-static {}, Ljava/lang/System;->gc()V
8208 + move-object v4, v3
8210 + move-object v8, v7
8213 + if-eqz v1, :cond_172
8216 + new-instance v10, Ljava/io/FileOutputStream;
8218 + new-instance v15, Ljava/lang/StringBuilder;
8220 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8222 + const-string v16, "/data/data/"
8224 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8226 + move-result-object v15
8228 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8230 + move-result-object v15
8232 + const-string v16, "/cache/"
8234 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8236 + move-result-object v15
8238 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8240 + move-result-object v15
8242 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8244 + move-result-object v15
8246 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8248 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8250 + move-result-object v6
8252 + new-instance v15, Ljava/lang/StringBuilder;
8254 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8256 + const-string v16, "/data/data/"
8258 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8260 + move-result-object v15
8262 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8264 + move-result-object v15
8266 + const-string v16, "/cache/"
8268 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8270 + move-result-object v15
8272 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8274 + move-result-object v15
8276 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8278 + move-result-object v15
8280 + move-object/from16 v0, p0
8282 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8284 + const-string v15, "PM,MediaRecorder"
8286 + new-instance v16, Ljava/lang/StringBuilder;
8288 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8290 + const-string/jumbo v17, "returned fileDescriptor for package: "
8292 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8294 + move-result-object v16
8296 + move-object/from16 v0, v16
8298 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8300 + move-result-object v16
8302 + const-string v17, " with internal path. Path: "
8304 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8306 + move-result-object v16
8308 + const-string v17, "/data/data/"
8310 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8312 + move-result-object v16
8314 + move-object/from16 v0, v16
8316 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8318 + move-result-object v16
8320 + const-string v17, "/cache/"
8322 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8324 + move-result-object v16
8326 + move-object/from16 v0, v16
8328 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8330 + move-result-object v16
8332 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8334 + move-result-object v16
8336 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8338 + .catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_152} :catch_166
8340 + move-object v3, v4
8342 + move-object v7, v8
8348 + move-exception v15
8355 + invoke-static {}, Ljava/lang/System;->gc()V
8360 + move-exception v15
8367 + invoke-static {}, Ljava/lang/System;->gc()V
8369 + add-int/lit8 v11, v11, 0x1
8376 + const-string v15, "PM,MediaRecorder"
8378 + const-string v16, "Got exception while creating fileDescriptor -> return null"
8380 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8384 + move-object v3, v4
8386 + move-object v7, v8
8392 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8394 + move-result-object v15
8396 + invoke-virtual {v15}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8398 + move-result-object v13
8400 + new-instance v7, Ljava/io/FileWriter;
8402 + new-instance v15, Ljava/lang/StringBuilder;
8404 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8406 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8408 + move-result-object v15
8410 + const-string v16, "/"
8412 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8414 + move-result-object v15
8416 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8418 + move-result-object v15
8420 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8422 + move-result-object v15
8424 + invoke-direct {v7, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8426 + .catch Ljava/lang/Exception; {:try_start_172 .. :try_end_196} :catch_22e
8429 + const-string/jumbo v15, "test"
8431 + invoke-virtual {v7, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8433 + invoke-virtual {v7}, Ljava/io/FileWriter;->flush()V
8435 + invoke-virtual {v7}, Ljava/io/FileWriter;->close()V
8437 + new-instance v3, Ljava/io/File;
8439 + new-instance v15, Ljava/lang/StringBuilder;
8441 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8443 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8445 + move-result-object v15
8447 + const-string v16, "/"
8449 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8451 + move-result-object v15
8453 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8455 + move-result-object v15
8457 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8459 + move-result-object v15
8461 + invoke-direct {v3, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8463 + .catch Ljava/lang/Exception; {:try_start_196 .. :try_end_1be} :catch_232
8466 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8468 + new-instance v10, Ljava/io/FileOutputStream;
8470 + new-instance v15, Ljava/lang/StringBuilder;
8472 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8474 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8476 + move-result-object v15
8478 + const-string v16, "/"
8480 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8482 + move-result-object v15
8484 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8486 + move-result-object v15
8488 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8490 + move-result-object v15
8492 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8494 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8496 + move-result-object v6
8498 + new-instance v15, Ljava/lang/StringBuilder;
8500 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8502 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8504 + move-result-object v15
8506 + const-string v16, "/"
8508 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8510 + move-result-object v15
8512 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8514 + move-result-object v15
8516 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8518 + move-result-object v15
8520 + move-object/from16 v0, p0
8522 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8524 + const-string v15, "PM,MediaRecorder"
8526 + new-instance v16, Ljava/lang/StringBuilder;
8528 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8530 + const-string v17, "Returned FileDescriptor. Path: "
8532 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8534 + move-result-object v16
8536 + move-object/from16 v0, v16
8538 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8540 + move-result-object v16
8542 + const-string v17, "/"
8544 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8546 + move-result-object v16
8548 + move-object/from16 v0, v16
8550 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8552 + move-result-object v16
8554 + const-string v17, " . It is on SDCard!"
8556 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8558 + move-result-object v16
8560 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8562 + move-result-object v16
8564 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8566 + .catch Ljava/lang/Exception; {:try_start_1be .. :try_end_228} :catch_22a
8581 + move-object v3, v4
8583 + move-object v7, v8
8590 + move-object v3, v4
8595 + move-exception v15
8597 + move-object v7, v8
8602 + move-exception v15
8604 + move-object v3, v4
8606 + move-object v7, v8
8611 + move-exception v15
8613 + move-object v7, v8
8618 + move-exception v15
8620 + move-object v3, v4
8622 + move-object v7, v8
8627 + move-object v4, v3
8629 + move-object v8, v7
8634 +.method private getPrivacyPath()Ljava/lang/String;
8637 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8639 + move-result-object v9
8641 + new-instance v11, Ljava/util/Random;
8643 + invoke-direct {v11}, Ljava/util/Random;-><init>()V
8647 + new-instance v12, Ljava/lang/StringBuilder;
8649 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8651 + invoke-virtual {v11}, Ljava/util/Random;->nextLong()J
8653 + move-result-wide v13
8655 + invoke-virtual {v12, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8657 + move-result-object v12
8659 + const-string v13, ".tmp"
8661 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8663 + move-result-object v12
8665 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8667 + move-result-object v1
8676 + array-length v12, v9
8678 + if-ge v8, v12, :cond_1eb
8681 + new-instance v7, Ljava/io/File;
8683 + new-instance v12, Ljava/lang/StringBuilder;
8685 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8687 + const-string v13, "/data/data/"
8689 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8691 + move-result-object v12
8693 + aget-object v13, v9, v8
8695 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8697 + move-result-object v12
8699 + const-string v13, "/cache/"
8701 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8703 + move-result-object v12
8705 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8707 + move-result-object v12
8709 + invoke-direct {v7, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8711 + invoke-virtual {v7}, Ljava/io/File;->mkdirs()Z
8713 + new-instance v6, Ljava/io/FileWriter;
8715 + new-instance v12, Ljava/lang/StringBuilder;
8717 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8719 + const-string v13, "/data/data/"
8721 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8723 + move-result-object v12
8725 + aget-object v13, v9, v8
8727 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8729 + move-result-object v12
8731 + const-string v13, "/cache/"
8733 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8735 + move-result-object v12
8737 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8739 + move-result-object v12
8741 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8743 + move-result-object v12
8745 + invoke-direct {v6, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8747 + .catchall {:try_start_27 .. :try_end_6e} :catchall_12d
8748 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_134
8751 + const-string/jumbo v12, "test"
8753 + invoke-virtual {v6, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8755 + invoke-virtual {v6}, Ljava/io/FileWriter;->flush()V
8757 + invoke-virtual {v6}, Ljava/io/FileWriter;->close()V
8759 + new-instance v3, Ljava/io/File;
8761 + new-instance v12, Ljava/lang/StringBuilder;
8763 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8765 + const-string v13, "/data/data/"
8767 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8769 + move-result-object v12
8771 + aget-object v13, v9, v8
8773 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8775 + move-result-object v12
8777 + const-string v13, "/cache/"
8779 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8781 + move-result-object v12
8783 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8785 + move-result-object v12
8787 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8789 + move-result-object v12
8791 + invoke-direct {v3, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8793 + .catchall {:try_start_6e .. :try_end_9e} :catchall_1d9
8794 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_1e2
8797 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8799 + const-string v12, "PM,MediaRecorder"
8801 + new-instance v13, Ljava/lang/StringBuilder;
8803 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8805 + const-string v14, "found our package: "
8807 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8809 + move-result-object v13
8811 + aget-object v14, v9, v8
8813 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8815 + move-result-object v13
8817 + const-string v14, " with internal path. File: "
8819 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8821 + move-result-object v13
8823 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8825 + move-result-object v13
8827 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8829 + move-result-object v13
8831 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8833 + aget-object v0, v9, v8
8835 + .catchall {:try_start_9e .. :try_end_c7} :catchall_1dd
8836 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c7} :catch_1e6
8842 + invoke-static {}, Ljava/lang/System;->gc()V
8844 + move-object v3, v2
8846 + move-object v6, v5
8849 + if-eqz v0, :cond_13e
8851 + const-string v12, "PM,MediaRecorder"
8853 + new-instance v13, Ljava/lang/StringBuilder;
8855 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8857 + const-string/jumbo v14, "returned file: "
8859 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8861 + move-result-object v13
8863 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8865 + move-result-object v13
8867 + const-string v14, " for package: "
8869 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8871 + move-result-object v13
8873 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8875 + move-result-object v13
8877 + const-string v14, " with internal path. Path: "
8879 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8881 + move-result-object v13
8883 + const-string v14, "/data/data/"
8885 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8887 + move-result-object v13
8889 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8891 + move-result-object v13
8893 + const-string v14, "/cache/"
8895 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8897 + move-result-object v13
8899 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8901 + move-result-object v13
8903 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8905 + move-result-object v13
8907 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8909 + new-instance v12, Ljava/lang/StringBuilder;
8911 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8913 + const-string v13, "/data/data/"
8915 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8917 + move-result-object v12
8919 + invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8921 + move-result-object v12
8923 + const-string v13, "/cache/"
8925 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8927 + move-result-object v12
8929 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8931 + move-result-object v12
8933 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8935 + move-result-object v12
8937 + move-object v2, v3
8939 + move-object v5, v6
8945 + move-exception v12
8952 + invoke-static {}, Ljava/lang/System;->gc()V
8957 + move-exception v12
8964 + invoke-static {}, Ljava/lang/System;->gc()V
8966 + add-int/lit8 v8, v8, 0x1
8972 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8974 + move-result-object v12
8976 + invoke-virtual {v12}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8978 + move-result-object v10
8980 + new-instance v5, Ljava/io/FileWriter;
8982 + new-instance v12, Ljava/lang/StringBuilder;
8984 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8986 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8988 + move-result-object v12
8990 + const-string v13, "/"
8992 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8994 + move-result-object v12
8996 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8998 + move-result-object v12
9000 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9002 + move-result-object v12
9004 + invoke-direct {v5, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
9006 + .catch Ljava/lang/Exception; {:try_start_13e .. :try_end_162} :catch_1ce
9009 + const-string/jumbo v12, "test"
9011 + invoke-virtual {v5, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
9013 + invoke-virtual {v5}, Ljava/io/FileWriter;->flush()V
9015 + invoke-virtual {v5}, Ljava/io/FileWriter;->close()V
9017 + new-instance v2, Ljava/io/File;
9019 + new-instance v12, Ljava/lang/StringBuilder;
9021 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9023 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9025 + move-result-object v12
9027 + const-string v13, "/"
9029 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9031 + move-result-object v12
9033 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9035 + move-result-object v12
9037 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9039 + move-result-object v12
9041 + invoke-direct {v2, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9043 + .catch Ljava/lang/Exception; {:try_start_162 .. :try_end_18a} :catch_1d4
9046 + invoke-virtual {v2}, Ljava/io/File;->delete()Z
9048 + const-string v12, "PM,MediaRecorder"
9050 + new-instance v13, Ljava/lang/StringBuilder;
9052 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
9054 + const-string v14, "Return filePath: "
9056 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9058 + move-result-object v13
9060 + invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9062 + move-result-object v13
9064 + const-string v14, "/"
9066 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9068 + move-result-object v13
9070 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9072 + move-result-object v13
9074 + const-string v14, " . It is on SDCard!"
9076 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9078 + move-result-object v13
9080 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9082 + move-result-object v13
9084 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
9086 + new-instance v12, Ljava/lang/StringBuilder;
9088 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9090 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9092 + move-result-object v12
9094 + const-string v13, "/"
9096 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9098 + move-result-object v12
9100 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9102 + move-result-object v12
9104 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9106 + .catch Ljava/lang/Exception; {:try_start_18a .. :try_end_1cb} :catch_1d7
9108 + move-result-object v12
9115 + move-object v2, v3
9117 + move-object v5, v6
9127 + move-object v2, v3
9137 + move-exception v12
9139 + move-object v5, v6
9144 + move-exception v12
9146 + move-object v2, v3
9148 + move-object v5, v6
9153 + move-exception v12
9155 + move-object v5, v6
9160 + move-exception v12
9162 + move-object v2, v3
9164 + move-object v5, v6
9169 + move-object v3, v2
9171 + move-object v6, v5
9176 +.method private initiate()V
9182 + iput-object v1, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9184 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
9186 + iget-object v2, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9188 + const-string/jumbo v3, "privacy"
9190 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9192 + move-result-object v3
9194 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9196 + move-result-object v3
9198 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
9200 + iput-object v1, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9202 + const-string/jumbo v1, "package"
9204 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9206 -.method static synthetic access$000(Landroid/media/MediaRecorder;)I
9208 + move-result-object v1
9210 - iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
9211 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
9215 + move-result-object v1
9217 -.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
9219 + iput-object v1, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
9221 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
9226 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9228 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
9230 -.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
9235 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
9241 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
9243 -.method public static final getAudioSourceMax()I
9245 + const-string v1, "PM,MediaRecorder"
9248 + const-string v2, "Something went wrong with initalize variables"
9251 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9255 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9260 .method private final native native_finalize()V
9261 @@ -236,17 +2013,104 @@
9265 +.method private privacyStop()V
9269 + invoke-virtual {p0}, Landroid/media/MediaRecorder;->stop()V
9271 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
9279 + const-string v1, "PM,MediaRecorder"
9281 + const-string v2, "Got exception while trying to call privacyStop()"
9283 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9288 .method private native setParameter(Ljava/lang/String;)V
9293 .method protected finalize()V
9299 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9301 + if-nez v1, :cond_18
9303 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9305 + if-eqz v1, :cond_1c
9307 + new-instance v0, Ljava/io/File;
9309 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9311 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9313 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9317 + if-eqz v1, :cond_18
9319 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9323 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_finalize()V
9328 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9330 + if-eqz v1, :cond_34
9332 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9334 + if-eqz v1, :cond_34
9336 + new-instance v0, Ljava/io/File;
9338 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9340 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9342 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9346 + if-eqz v1, :cond_18
9348 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9353 + const-string v1, "PM,MediaRecorder"
9355 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9357 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9361 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9366 .method public native getMaxAmplitude()I
9367 @@ -258,7 +2122,7 @@
9370 .method public prepare()V
9373 .annotation system Ldalvik/annotation/Throws;
9375 Ljava/lang/IllegalStateException;,
9376 @@ -266,20 +2130,75 @@
9380 - const-wide/16 v2, 0x0
9385 + const-wide/16 v13, 0x0
9391 + iget-boolean v0, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9393 + if-nez v0, :cond_d
9395 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
9398 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9402 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9404 + packed-switch v0, :pswitch_data_f2
9408 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9410 + move-result-object v8
9412 + if-nez v9, :cond_2f
9414 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9416 + if-ne v0, v3, :cond_c3
9418 + if-eqz v8, :cond_c3
9420 + array-length v0, v8
9422 + if-lez v0, :cond_c3
9424 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9426 + aget-object v1, v8, v2
9428 + const-string v4, "camera"
9432 + move-object v6, v5
9434 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9438 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9440 - if-eqz v0, :cond_25
9441 + if-eqz v0, :cond_db
9443 - new-instance v6, Ljava/io/FileOutputStream;
9444 + new-instance v7, Ljava/io/FileOutputStream;
9446 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9448 - invoke-direct {v6, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9449 + invoke-direct {v7, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9452 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9454 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9456 move-result-object v1
9458 @@ -290,39 +2209,189 @@
9461 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9463 - .catchall {:try_start_d .. :try_end_19} :catchall_20
9465 + .catchall {:try_start_3a .. :try_end_46} :catchall_d6
9467 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9468 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9472 invoke-direct {p0}, Landroid/media/MediaRecorder;->_prepare()V
9480 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9484 + if-ne v0, v1, :cond_15
9486 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9488 + move-result-object v10
9490 + if-eqz v10, :cond_68
9492 + array-length v0, v10
9494 + if-lez v0, :cond_68
9496 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9498 + aget-object v1, v10, v2
9500 + const-string/jumbo v4, "recordAudio"
9502 + move-object v6, v5
9504 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9507 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
9509 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
9511 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9513 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9515 + const-wide/16 v11, 0x32
9517 + invoke-virtual {v0, v11, v12}, Landroid/media/MediaRecorder$PrivacyRunner;->setDelay(J)V
9519 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9521 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
9530 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9534 + if-ne v0, v1, :cond_15
9536 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9538 + move-result-object v10
9540 + if-eqz v10, :cond_97
9542 + array-length v0, v10
9544 + if-lez v0, :cond_97
9546 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9548 + aget-object v1, v10, v2
9550 + const-string v4, "camera"
9552 + move-object v6, v5
9554 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9557 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9559 + if-eqz v0, :cond_b0
9561 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyPath()Ljava/lang/String;
9563 + move-result-object v0
9565 + iput-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9568 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
9570 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
9572 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9574 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9576 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
9583 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9585 + if-eqz v0, :cond_bb
9587 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
9589 + move-result-object v0
9591 + iput-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9596 + new-instance v0, Ljava/io/IOException;
9598 + const-string v1, "No valid output file"
9600 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
9605 + if-eqz v8, :cond_2f
9607 + array-length v0, v8
9609 + if-lez v0, :cond_2f
9611 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9613 + aget-object v1, v8, v2
9615 + const-string/jumbo v4, "recordAudio"
9619 + move-object v6, v5
9621 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9628 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9629 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9635 iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9637 - if-eqz v0, :cond_31
9638 + if-eqz v0, :cond_e9
9640 iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9649 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9656 new-instance v0, Ljava/io/IOException;
9658 const-string v1, "No valid output file"
9659 @@ -330,23 +2399,99 @@
9660 invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
9667 + .packed-switch 0x0
9670 + .end packed-switch
9673 .method public native release()V
9676 .method public reset()V
9684 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_reset()V
9686 - iget-object v0, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
9687 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9690 + if-nez v1, :cond_1c
9692 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9694 + if-eqz v1, :cond_27
9696 + new-instance v0, Ljava/io/File;
9698 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9700 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9702 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9706 + if-eqz v1, :cond_1c
9708 - invoke-virtual {v0, v1}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
9709 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9713 + iput-object v3, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9715 + invoke-static {}, Ljava/lang/System;->gc()V
9717 + iget-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
9719 + invoke-virtual {v1, v3}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
9724 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9726 + if-eqz v1, :cond_3f
9728 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9730 + if-eqz v1, :cond_3f
9732 + new-instance v0, Ljava/io/File;
9734 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9736 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9738 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9742 + if-eqz v1, :cond_1c
9744 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9749 + const-string v1, "PM,MediaRecorder"
9751 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9753 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9757 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9762 .method public setAudioChannels(I)V
9763 @@ -506,6 +2651,10 @@
9764 .method public setCaptureRate(D)V
9769 + iput v3, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9771 const-string/jumbo v3, "time-lapse-enable=1"
9773 invoke-direct {p0, v3}, Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V
9774 @@ -800,6 +2949,10 @@
9776 iput-object p1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9780 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9785 @@ -817,6 +2970,10 @@
9787 iput-object p1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9791 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9796 @@ -829,7 +2986,11 @@
9799 .method public setPreviewDisplay(Landroid/view/Surface;)V
9805 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9807 iput-object p1, p0, Landroid/media/MediaRecorder;->mSurface:Landroid/view/Surface;
9809 @@ -839,6 +3000,10 @@
9810 .method public setProfile(Landroid/media/CamcorderProfile;)V
9815 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9817 iget v0, p1, Landroid/media/CamcorderProfile;->fileFormat:I
9819 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
9820 @@ -865,18 +3030,18 @@
9824 - if-lt v0, v1, :cond_28
9825 + if-lt v0, v1, :cond_2b
9827 iget v0, p1, Landroid/media/CamcorderProfile;->quality:I
9831 - if-gt v0, v1, :cond_28
9832 + if-gt v0, v1, :cond_2b
9840 iget v0, p1, Landroid/media/CamcorderProfile;->audioBitRate:I
9842 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V
9843 @@ -893,7 +3058,7 @@
9845 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
9851 .method public native setVideoEncoder(I)V
9852 @@ -907,7 +3072,11 @@
9853 .method public setVideoEncodingBitRate(I)V
9856 - if-gtz p1, :cond_a
9859 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9861 + if-gtz p1, :cond_d
9863 new-instance v0, Ljava/lang/IllegalArgumentException;
9865 @@ -917,7 +3086,7 @@
9871 new-instance v0, Ljava/lang/StringBuilder;
9873 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9874 diff -Npru stock-framework/smali/android/net/NetworkInfo.smali opd-framework/smali/android/net/NetworkInfo.smali
9875 --- stock-framework/smali/android/net/NetworkInfo.smali 2013-01-09 02:53:01.375623361 -0600
9876 +++ opd-framework/smali/android/net/NetworkInfo.smali 2013-01-09 02:52:41.043522540 -0600
9877 @@ -822,6 +822,14 @@
9881 +.method public setState(Landroid/net/NetworkInfo$State;)V
9884 + iput-object p1, p0, Landroid/net/NetworkInfo;->mState:Landroid/net/NetworkInfo$State;
9889 .method setSubtype(ILjava/lang/String;)V
9892 diff -Npru stock-framework/smali/android/net/wifi/WifiInfo.smali opd-framework/smali/android/net/wifi/WifiInfo.smali
9893 --- stock-framework/smali/android/net/wifi/WifiInfo.smali 2013-01-09 02:53:01.551624231 -0600
9894 +++ opd-framework/smali/android/net/wifi/WifiInfo.smali 2013-01-09 02:52:41.187523254 -0600
9895 @@ -265,6 +265,44 @@
9899 +.method public constructor <init>(Z)V
9904 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9906 + const-string v0, ""
9908 + invoke-static {v0}, Landroid/net/wifi/WifiSsid;->createFromAsciiEncoded(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
9910 + move-result-object v0
9912 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mWifiSsid:Landroid/net/wifi/WifiSsid;
9914 + const-string v0, ""
9916 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String;
9918 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mNetworkId:I
9920 + sget-object v0, Landroid/net/wifi/SupplicantState;->UNINITIALIZED:Landroid/net/wifi/SupplicantState;
9922 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mSupplicantState:Landroid/net/wifi/SupplicantState;
9924 + const/16 v0, -0x270f
9926 + iput v0, p0, Landroid/net/wifi/WifiInfo;->mRssi:I
9928 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mLinkSpeed:I
9932 + iput-boolean v0, p0, Landroid/net/wifi/WifiInfo;->mHiddenSSID:Z
9937 .method static synthetic access$002(Landroid/net/wifi/WifiInfo;Landroid/net/wifi/WifiSsid;)Landroid/net/wifi/WifiSsid;
9940 diff -Npru stock-framework/smali/android/net/wifi/WifiStateMachine.smali opd-framework/smali/android/net/wifi/WifiStateMachine.smali
9941 --- stock-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-01-09 02:53:01.623624587 -0600
9942 +++ opd-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-01-09 02:52:41.243523532 -0600
9943 @@ -6758,7 +6758,7 @@
9945 invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
9947 - const-string v2, "mSuspendOptNeedsDisabled "
9948 + const-string/jumbo v2, "mSuspendOptNeedsDisabled "
9950 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
9952 diff -Npru stock-framework/smali/android/os/Looper.smali opd-framework/smali/android/os/Looper.smali
9953 --- stock-framework/smali/android/os/Looper.smali 2013-01-09 02:53:01.871625821 -0600
9954 +++ opd-framework/smali/android/os/Looper.smali 2013-01-09 02:52:41.467524639 -0600
9957 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
9959 - const-string v5, "mThread="
9960 + const-string/jumbo v5, "mThread="
9962 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9964 @@ -503,11 +503,11 @@
9966 iget-object v4, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
9968 - if-eqz v4, :cond_92
9969 + if-eqz v4, :cond_93
9971 iget-object v4, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
9975 invoke-virtual {v5, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9977 move-result-object v4
9978 @@ -520,13 +520,13 @@
9980 iget-object v4, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
9982 - if-eqz v4, :cond_b2
9983 + if-eqz v4, :cond_b3
9985 iget-object v5, p0, Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
9991 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
9999 - if-eqz v0, :cond_95
10001 + if-eqz v0, :cond_96
10003 new-instance v4, Ljava/lang/StringBuilder;
10005 @@ -577,18 +577,18 @@
10006 add-int/lit8 v1, v1, 0x1
10008 iget-object v0, v0, Landroid/os/Message;->next:Landroid/os/Message;
10010 - .catchall {:try_start_5e .. :try_end_91} :catchall_b3
10012 + .catchall {:try_start_5f .. :try_end_92} :catchall_b4
10019 const-string v4, "(null"
10028 new-instance v4, Ljava/lang/StringBuilder;
10030 invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
10031 @@ -617,15 +617,15 @@
10045 - .catchall {:try_start_95 .. :try_end_b5} :catchall_b3
10047 + .catchall {:try_start_96 .. :try_end_b6} :catchall_b4
10051 diff -Npru stock-framework/smali/android/os/SystemProperties.smali opd-framework/smali/android/os/SystemProperties.smali
10052 --- stock-framework/smali/android/os/SystemProperties.smali 2013-01-09 02:53:01.927626099 -0600
10053 +++ opd-framework/smali/android/os/SystemProperties.smali 2013-01-09 02:52:41.523524920 -0600
10058 +.field private static final GOT_ERROR:I = -0x3
10060 +.field private static final IS_ALLOWED:I = -0x1
10062 +.field private static final IS_NOT_ALLOWED:I = -0x2
10064 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "SystemProperties"
10066 .field public static final PROP_NAME_MAX:I = 0x1f
10068 .field public static final PROP_VALUE_MAX:I = 0x5b
10070 +.field private static context:Landroid/content/Context;
10072 +.field private static mPm:Landroid/content/pm/IPackageManager;
10074 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
10076 +.field private static privacyMode:Z
10078 .field private static final sChangeCallbacks:Ljava/util/ArrayList;
10079 .annotation system Ldalvik/annotation/Signature;
10083 sput-object v0, Landroid/os/SystemProperties;->sChangeCallbacks:Ljava/util/ArrayList;
10087 + sput-boolean v0, Landroid/os/SystemProperties;->privacyMode:Z
10092 @@ -142,6 +162,205 @@
10096 +.method private static checkIfPackagesAllowed()I
10102 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10104 + if-eqz v6, :cond_41
10108 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
10110 + move-result-object v3
10112 + invoke-static {}, Landroid/os/Process;->myUid()I
10116 + if-eqz v3, :cond_2c
10121 + array-length v6, v3
10123 + if-ge v1, v6, :cond_2a
10125 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10127 + aget-object v7, v3, v1
10129 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
10131 + move-result-object v2
10133 + if-eqz v2, :cond_26
10135 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
10139 + if-eqz v6, :cond_26
10149 + add-int/lit8 v1, v1, 0x1
10159 + const-string v6, "SystemProperties"
10161 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
10163 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10165 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
10170 + move-exception v0
10172 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10174 + const-string v6, "SystemProperties"
10176 + const-string v7, "Got exception in checkIfPackagesAllowed"
10178 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10184 + const-string v6, "SystemProperties"
10186 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
10188 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10190 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
10195 +.method private static dataAccess(Z)V
10198 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
10200 + move-result-object v1
10202 + if-eqz p0, :cond_2f
10204 + if-eqz v1, :cond_2f
10209 + array-length v2, v1
10211 + if-ge v0, v2, :cond_58
10213 + const-string v2, "SystemProperties"
10215 + new-instance v3, Ljava/lang/StringBuilder;
10217 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10219 + const-string v4, "Allowed Package: -"
10221 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10223 + move-result-object v3
10225 + aget-object v4, v1, v0
10227 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10229 + move-result-object v3
10231 + const-string v4, "- accessing networkinfo."
10233 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10235 + move-result-object v3
10237 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10239 + move-result-object v3
10241 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10243 + add-int/lit8 v0, v0, 0x1
10248 + if-eqz v1, :cond_58
10253 + array-length v2, v1
10255 + if-ge v0, v2, :cond_58
10257 + const-string v2, "SystemProperties"
10259 + new-instance v3, Ljava/lang/StringBuilder;
10261 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10263 + const-string v4, "Blocked Package: -"
10265 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10267 + move-result-object v3
10269 + aget-object v4, v1, v0
10271 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10273 + move-result-object v3
10275 + const-string v4, "- accessing networkinfo."
10277 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10279 + move-result-object v3
10281 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10283 + move-result-object v3
10285 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10287 + add-int/lit8 v0, v0, 0x1
10295 .method public static get(Ljava/lang/String;)Ljava/lang/String;
10298 @@ -162,11 +381,53 @@
10302 + const-string v0, "gsm.operator.alpha"
10304 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10308 + if-nez v0, :cond_20
10310 + const-string v0, "gsm.operator.numeric"
10312 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10316 + if-eqz v0, :cond_35
10319 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10321 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10327 + if-ne v0, v1, :cond_31
10331 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10333 + const-string v0, ""
10341 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10344 invoke-static {p0}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
10346 move-result-object v0
10352 .method public static get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10353 @@ -189,11 +450,53 @@
10357 + const-string v0, "gsm.operator.alpha"
10359 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10363 + if-nez v0, :cond_20
10365 + const-string v0, "gsm.operator.numeric"
10367 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10371 + if-eqz v0, :cond_35
10374 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10376 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10382 + if-ne v0, v1, :cond_31
10386 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10388 + const-string v0, ""
10396 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10399 invoke-static {p0, p1}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10401 move-result-object v0
10407 .method public static getBoolean(Ljava/lang/String;Z)Z
10408 @@ -376,6 +679,135 @@
10412 +.method private static getPackageName()[Ljava/lang/String;
10416 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10418 + if-eqz v3, :cond_f
10420 + invoke-static {}, Landroid/os/Process;->myUid()I
10424 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10426 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10428 + move-result-object v1
10434 + const-string/jumbo v3, "package"
10436 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10438 + move-result-object v3
10440 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10442 + move-result-object v3
10444 + sput-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10446 + invoke-static {}, Landroid/os/Process;->myUid()I
10450 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10452 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10454 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
10456 + move-result-object v1
10461 + move-exception v0
10463 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10465 + const-string v3, "SystemProperties"
10467 + const-string/jumbo v4, "something went wrong with getting package name"
10469 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10476 +.method private static initiate()V
10482 + sput-object v1, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10484 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
10486 + sget-object v2, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10488 + const-string/jumbo v3, "privacy"
10490 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10492 + move-result-object v3
10494 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10496 + move-result-object v3
10498 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10500 + sput-object v1, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10502 + const-string/jumbo v1, "package"
10504 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10506 + move-result-object v1
10508 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10510 + move-result-object v1
10512 + sput-object v1, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10516 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10518 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
10524 + move-exception v0
10526 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10528 + const-string v1, "SystemProperties"
10530 + const-string v2, "Something went wrong with initalize variables"
10532 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10536 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10541 .method private static native native_add_change_callback()V
10544 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali opd-framework/smali/android/privacy/IPrivacySettingsManager.smali
10545 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
10546 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager.smali 2013-01-09 02:52:41.627525436 -0600
10548 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
10549 +.super Ljava/lang/Object;
10550 +.source "IPrivacySettingsManager.java"
10553 +.implements Landroid/os/IInterface;
10557 +.annotation system Ldalvik/annotation/MemberClasses;
10559 + Landroid/privacy/IPrivacySettingsManager$Stub;
10565 +.method public abstract addObserver(Ljava/lang/String;)V
10566 + .annotation system Ldalvik/annotation/Throws;
10568 + Landroid/os/RemoteException;
10573 +.method public abstract deleteSettings(Ljava/lang/String;)Z
10574 + .annotation system Ldalvik/annotation/Throws;
10576 + Landroid/os/RemoteException;
10581 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10582 + .annotation system Ldalvik/annotation/Throws;
10584 + Landroid/os/RemoteException;
10589 +.method public abstract getVersion()D
10590 + .annotation system Ldalvik/annotation/Throws;
10592 + Landroid/os/RemoteException;
10597 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10598 + .annotation system Ldalvik/annotation/Throws;
10600 + Landroid/os/RemoteException;
10605 +.method public abstract purgeSettings()Z
10606 + .annotation system Ldalvik/annotation/Throws;
10608 + Landroid/os/RemoteException;
10613 +.method public abstract registerObservers()V
10614 + .annotation system Ldalvik/annotation/Throws;
10616 + Landroid/os/RemoteException;
10621 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
10622 + .annotation system Ldalvik/annotation/Throws;
10624 + Landroid/os/RemoteException;
10629 +.method public abstract setBootCompleted()V
10630 + .annotation system Ldalvik/annotation/Throws;
10632 + Landroid/os/RemoteException;
10637 +.method public abstract setEnabled(Z)Z
10638 + .annotation system Ldalvik/annotation/Throws;
10640 + Landroid/os/RemoteException;
10645 +.method public abstract setNotificationsEnabled(Z)Z
10646 + .annotation system Ldalvik/annotation/Throws;
10648 + Landroid/os/RemoteException;
10652 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
10653 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
10654 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2013-01-09 02:52:41.627525436 -0600
10656 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
10657 +.super Ljava/lang/Object;
10658 +.source "IPrivacySettingsManager.java"
10661 +.implements Landroid/privacy/IPrivacySettingsManager;
10665 +.annotation system Ldalvik/annotation/EnclosingClass;
10666 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
10669 +.annotation system Ldalvik/annotation/InnerClass;
10670 + accessFlags = 0xa
10676 +.field private mRemote:Landroid/os/IBinder;
10680 +.method constructor <init>(Landroid/os/IBinder;)V
10683 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10685 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10692 +.method public addObserver(Ljava/lang/String;)V
10694 + .annotation system Ldalvik/annotation/Throws;
10696 + Landroid/os/RemoteException;
10700 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10702 + move-result-object v0
10704 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10706 + move-result-object v1
10709 + const-string v2, "android.privacy.IPrivacySettingsManager"
10711 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10713 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10715 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10721 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10723 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10725 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
10727 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10729 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10734 + move-exception v2
10736 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10738 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10743 +.method public asBinder()Landroid/os/IBinder;
10746 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10751 +.method public deleteSettings(Ljava/lang/String;)Z
10753 + .annotation system Ldalvik/annotation/Throws;
10755 + Landroid/os/RemoteException;
10761 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10763 + move-result-object v0
10765 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10767 + move-result-object v1
10770 + const-string v3, "android.privacy.IPrivacySettingsManager"
10772 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10774 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10776 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10782 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10784 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10786 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10788 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
10792 + if-eqz v3, :cond_22
10797 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10799 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10804 + move-exception v3
10806 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10808 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10813 +.method public getInterfaceDescriptor()Ljava/lang/String;
10816 + const-string v0, "android.privacy.IPrivacySettingsManager"
10821 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10823 + .annotation system Ldalvik/annotation/Throws;
10825 + Landroid/os/RemoteException;
10829 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10831 + move-result-object v0
10833 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10835 + move-result-object v1
10838 + const-string v3, "android.privacy.IPrivacySettingsManager"
10840 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10842 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10844 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10850 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10852 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10854 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10858 + if-eqz v3, :cond_2f
10860 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
10862 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
10864 + move-result-object v2
10866 + check-cast v2, Landroid/privacy/PrivacySettings;
10868 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
10871 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10873 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10883 + move-exception v3
10885 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10887 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10892 +.method public getVersion()D
10894 + .annotation system Ldalvik/annotation/Throws;
10896 + Landroid/os/RemoteException;
10900 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10902 + move-result-object v0
10904 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10906 + move-result-object v1
10909 + const-string v4, "android.privacy.IPrivacySettingsManager"
10911 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10913 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10919 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10921 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10923 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
10925 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
10927 + move-result-wide v2
10929 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10931 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10936 + move-exception v4
10938 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10940 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10945 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10947 + .annotation system Ldalvik/annotation/Throws;
10949 + Landroid/os/RemoteException;
10953 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10955 + move-result-object v0
10957 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10959 + move-result-object v1
10962 + const-string v2, "android.privacy.IPrivacySettingsManager"
10964 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10966 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10968 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
10970 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10972 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10974 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10980 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10982 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10984 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
10986 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10988 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10993 + move-exception v2
10995 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10997 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11002 +.method public purgeSettings()Z
11004 + .annotation system Ldalvik/annotation/Throws;
11006 + Landroid/os/RemoteException;
11012 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11014 + move-result-object v0
11016 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11018 + move-result-object v1
11021 + const-string v3, "android.privacy.IPrivacySettingsManager"
11023 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11025 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11031 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11033 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11035 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11037 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
11041 + if-eqz v3, :cond_1f
11046 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11048 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11053 + move-exception v3
11055 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11057 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11062 +.method public registerObservers()V
11064 + .annotation system Ldalvik/annotation/Throws;
11066 + Landroid/os/RemoteException;
11070 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11072 + move-result-object v0
11074 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11076 + move-result-object v1
11079 + const-string v2, "android.privacy.IPrivacySettingsManager"
11081 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11083 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11089 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11091 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11093 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
11095 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11097 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11102 + move-exception v2
11104 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11106 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11111 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
11113 + .annotation system Ldalvik/annotation/Throws;
11115 + Landroid/os/RemoteException;
11123 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11125 + move-result-object v0
11127 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11129 + move-result-object v1
11132 + const-string v4, "android.privacy.IPrivacySettingsManager"
11134 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11136 + if-eqz p1, :cond_30
11140 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11144 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11147 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11153 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11155 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11157 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11159 + .catchall {:try_start_a .. :try_end_26} :catchall_35
11163 + if-eqz v4, :cond_3d
11166 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11168 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11176 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11178 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
11183 + move-exception v3
11185 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11187 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11197 +.method public setBootCompleted()V
11199 + .annotation system Ldalvik/annotation/Throws;
11201 + Landroid/os/RemoteException;
11205 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11207 + move-result-object v0
11209 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11211 + move-result-object v1
11214 + const-string v2, "android.privacy.IPrivacySettingsManager"
11216 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11218 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11224 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11226 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11228 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
11230 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11232 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11237 + move-exception v2
11239 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11241 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11246 +.method public setEnabled(Z)Z
11248 + .annotation system Ldalvik/annotation/Throws;
11250 + Landroid/os/RemoteException;
11258 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11260 + move-result-object v0
11262 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11264 + move-result-object v1
11267 + const-string v4, "android.privacy.IPrivacySettingsManager"
11269 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11271 + if-eqz p1, :cond_2d
11276 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11278 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11284 + invoke-interface {v4, v5, v0, v1, v6}, 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
11290 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11294 + if-eqz v4, :cond_2f
11297 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11299 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11314 + move-exception v3
11316 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11318 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11323 +.method public setNotificationsEnabled(Z)Z
11325 + .annotation system Ldalvik/annotation/Throws;
11327 + Landroid/os/RemoteException;
11335 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11337 + move-result-object v0
11339 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11341 + move-result-object v1
11344 + const-string v4, "android.privacy.IPrivacySettingsManager"
11346 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11348 + if-eqz p1, :cond_2d
11353 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11355 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11361 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11363 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11365 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11367 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11371 + if-eqz v4, :cond_2f
11374 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11376 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11391 + move-exception v3
11393 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11395 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11399 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
11400 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
11401 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2013-01-09 02:52:41.627525436 -0600
11403 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
11404 +.super Landroid/os/Binder;
11405 +.source "IPrivacySettingsManager.java"
11408 +.implements Landroid/privacy/IPrivacySettingsManager;
11412 +.annotation system Ldalvik/annotation/EnclosingClass;
11413 + value = Landroid/privacy/IPrivacySettingsManager;
11416 +.annotation system Ldalvik/annotation/InnerClass;
11417 + accessFlags = 0x409
11421 +.annotation system Ldalvik/annotation/MemberClasses;
11423 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11429 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
11431 +.field static final TRANSACTION_addObserver:I = 0x6
11433 +.field static final TRANSACTION_deleteSettings:I = 0x3
11435 +.field static final TRANSACTION_getSettings:I = 0x1
11437 +.field static final TRANSACTION_getVersion:I = 0x8
11439 +.field static final TRANSACTION_notification:I = 0x4
11441 +.field static final TRANSACTION_purgeSettings:I = 0x7
11443 +.field static final TRANSACTION_registerObservers:I = 0x5
11445 +.field static final TRANSACTION_saveSettings:I = 0x2
11447 +.field static final TRANSACTION_setBootCompleted:I = 0xb
11449 +.field static final TRANSACTION_setEnabled:I = 0x9
11451 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
11455 +.method public constructor <init>()V
11458 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
11460 + const-string v0, "android.privacy.IPrivacySettingsManager"
11462 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
11467 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
11470 + if-nez p0, :cond_4
11478 + const-string v1, "android.privacy.IPrivacySettingsManager"
11480 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
11482 + move-result-object v0
11484 + if-eqz v0, :cond_13
11486 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
11488 + if-eqz v1, :cond_13
11490 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
11495 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11497 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
11504 +.method public asBinder()Landroid/os/IBinder;
11510 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11512 + .annotation system Ldalvik/annotation/Throws;
11514 + Landroid/os/RemoteException;
11522 + sparse-switch p1, :sswitch_data_10e
11524 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11532 + const-string v6, "android.privacy.IPrivacySettingsManager"
11534 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11539 + const-string v8, "android.privacy.IPrivacySettingsManager"
11541 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11543 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11545 + move-result-object v0
11547 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11549 + move-result-object v4
11551 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11553 + if-eqz v4, :cond_29
11555 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
11557 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11562 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11567 + const-string v8, "android.privacy.IPrivacySettingsManager"
11569 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11571 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11575 + if-eqz v8, :cond_4e
11577 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
11579 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
11581 + move-result-object v0
11583 + check-cast v0, Landroid/privacy/PrivacySettings;
11586 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11590 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11592 + if-eqz v4, :cond_4a
11597 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11607 + const-string v8, "android.privacy.IPrivacySettingsManager"
11609 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11611 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11613 + move-result-object v0
11615 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
11619 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11621 + if-eqz v4, :cond_63
11626 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11631 + const-string v6, "android.privacy.IPrivacySettingsManager"
11633 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11635 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11637 + move-result-object v0
11639 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
11643 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11645 + move-result-object v2
11647 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11649 + move-result-object v3
11651 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11653 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11658 + const-string v6, "android.privacy.IPrivacySettingsManager"
11660 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11662 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
11664 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11669 + const-string v6, "android.privacy.IPrivacySettingsManager"
11671 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11673 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11675 + move-result-object v0
11677 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
11679 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11684 + const-string v8, "android.privacy.IPrivacySettingsManager"
11686 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11688 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
11692 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11694 + if-eqz v4, :cond_b0
11699 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11704 + const-string v6, "android.privacy.IPrivacySettingsManager"
11706 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11708 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
11710 + move-result-wide v4
11712 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11714 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
11719 + const-string v8, "android.privacy.IPrivacySettingsManager"
11721 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11723 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11727 + if-eqz v8, :cond_e1
11732 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
11736 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11738 + if-eqz v4, :cond_dc
11743 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11753 + const-string v8, "android.privacy.IPrivacySettingsManager"
11755 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11757 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11761 + if-eqz v8, :cond_fe
11766 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
11770 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11772 + if-eqz v4, :cond_f9
11777 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11787 + const-string v6, "android.privacy.IPrivacySettingsManager"
11789 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11791 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
11793 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11799 + :sswitch_data_10e
11801 + 0x1 -> :sswitch_10
11802 + 0x2 -> :sswitch_2d
11803 + 0x3 -> :sswitch_50
11804 + 0x4 -> :sswitch_67
11805 + 0x5 -> :sswitch_83
11806 + 0x6 -> :sswitch_90
11807 + 0x7 -> :sswitch_a1
11808 + 0x8 -> :sswitch_b5
11809 + 0x9 -> :sswitch_c6
11810 + 0xa -> :sswitch_e3
11811 + 0xb -> :sswitch_100
11812 + 0x5f4e5446 -> :sswitch_a
11813 + .end sparse-switch
11815 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali opd-framework/smali/android/privacy/PrivacyFileObserver.smali
11816 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
11817 +++ opd-framework/smali/android/privacy/PrivacyFileObserver.smali 2013-01-09 02:52:41.627525436 -0600
11819 +.class public final Landroid/privacy/PrivacyFileObserver;
11820 +.super Landroid/os/FileObserver;
11821 +.source "PrivacyFileObserver.java"
11825 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
11827 +.field public static final SETTINGS_TYPE_INDEX:I = 0x4
11829 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
11833 +.field public absolutePath:Ljava/lang/String;
11835 +.field public children:Ljava/util/HashMap;
11836 + .annotation system Ldalvik/annotation/Signature;
11838 + "Ljava/util/HashMap",
11840 + "Ljava/lang/String;",
11841 + "Landroid/privacy/PrivacyFileObserver;",
11847 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11851 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11854 + const/16 v8, 0xfff
11856 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
11858 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11860 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11862 + new-instance v8, Ljava/util/HashMap;
11864 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
11866 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11868 + new-instance v7, Ljava/io/File;
11870 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11872 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11874 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
11878 + if-eqz v8, :cond_42
11880 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
11882 + move-result-object v6
11884 + move-object v0, v6
11886 + array-length v4, v0
11891 + if-ge v3, v4, :cond_42
11893 + aget-object v2, v0, v3
11895 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
11897 + move-result-object v5
11899 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
11901 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11903 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11905 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
11907 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
11911 + if-eqz v8, :cond_3f
11913 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
11916 + add-int/lit8 v3, v3, 0x1
11926 +.method public addObserver(Ljava/lang/String;)V
11929 + new-instance v2, Ljava/lang/StringBuilder;
11931 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11933 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11935 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11937 + move-result-object v2
11939 + const-string v3, "/"
11941 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11943 + move-result-object v2
11945 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11947 + move-result-object v2
11949 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11951 + move-result-object v1
11953 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11955 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
11957 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
11959 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11961 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11963 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11965 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
11970 +.method public onEvent(ILjava/lang/String;)V
11973 + and-int/lit8 v5, p1, 0x1
11975 + if-eqz v5, :cond_48
11977 + new-instance v4, Ljava/util/StringTokenizer;
11979 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11981 + const-string v6, "/"
11983 + invoke-direct {v4, v5, v6}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
11990 + if-ge v0, v5, :cond_1d
11992 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
11996 + if-eqz v5, :cond_1d
11998 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
12000 + add-int/lit8 v0, v0, 0x1
12005 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
12007 + move-result-object v2
12011 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
12015 + if-eqz v5, :cond_2c
12017 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
12019 + move-result-object v3
12022 + if-eqz v3, :cond_49
12025 + const-string v5, "ipTableProtectSetting"
12027 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
12031 + if-eqz v5, :cond_49
12033 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12035 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12037 + move-result-object v1
12039 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12041 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
12045 + const-string v7, "iptables"
12049 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
12056 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12058 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
12060 + move-result-object v1
12062 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
12064 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
12068 + const-string/jumbo v7, "systemLogs"
12072 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
12074 + .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_5c} :catch_5d
12079 + move-exception v5
12084 +.method public startWatching()V
12087 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
12091 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali opd-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
12092 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
12093 +++ opd-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2013-01-09 02:52:41.635525471 -0600
12095 +.class public final Landroid/privacy/PrivacyPersistenceAdapter;
12096 +.super Ljava/lang/Object;
12097 +.source "PrivacyPersistenceAdapter.java"
12101 +.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) );"
12103 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
12105 +.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);"
12107 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
12109 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
12111 +.field private static final DATABASE_VERSION:I = 0x4
12113 +.field public static final DUMMY_UID:I = -0x1
12115 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
12117 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
12119 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
12121 +.field private static final LOG_LOCKING:Z = false
12123 +.field private static final RETRY_QUERY_COUNT:I = 0x5
12125 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
12127 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
12129 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
12131 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
12133 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
12135 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
12137 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
12139 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
12141 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
12143 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
12145 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
12147 +.field public static volatile sDbAccessThreads:Ljava/lang/Integer;
12149 +.field private static sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12151 +.field public static volatile sDbVersion:I
12155 +.field private mContext:Landroid/content/Context;
12157 +.field private mDb:Landroid/database/sqlite/SQLiteDatabase;
12161 +.method static constructor <clinit>()V
12166 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12168 + move-result-object v0
12170 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12172 + new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
12174 + invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
12176 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12178 + const/16 v0, 0x2f
12180 + new-array v0, v0, [Ljava/lang/String;
12182 + const-string v1, "_id"
12184 + aput-object v1, v0, v2
12188 + const-string/jumbo v2, "packageName"
12190 + aput-object v2, v0, v1
12194 + const-string/jumbo v2, "uid"
12196 + aput-object v2, v0, v1
12200 + const-string v2, "deviceIdSetting"
12202 + aput-object v2, v0, v1
12206 + const-string v2, "deviceId"
12208 + aput-object v2, v0, v1
12212 + const-string v2, "line1NumberSetting"
12214 + aput-object v2, v0, v1
12218 + const-string v2, "line1Number"
12220 + aput-object v2, v0, v1
12224 + const-string v2, "locationGpsSetting"
12226 + aput-object v2, v0, v1
12230 + const-string v2, "locationGpsLat"
12232 + aput-object v2, v0, v1
12236 + const-string v2, "locationGpsLon"
12238 + aput-object v2, v0, v1
12242 + const-string v2, "locationNetworkSetting"
12244 + aput-object v2, v0, v1
12248 + const-string v2, "locationNetworkLat"
12250 + aput-object v2, v0, v1
12254 + const-string v2, "locationNetworkLon"
12256 + aput-object v2, v0, v1
12260 + const-string/jumbo v2, "networkInfoSetting"
12262 + aput-object v2, v0, v1
12266 + const-string/jumbo v2, "simInfoSetting"
12268 + aput-object v2, v0, v1
12272 + const-string/jumbo v2, "simSerialNumberSetting"
12274 + aput-object v2, v0, v1
12276 + const/16 v1, 0x10
12278 + const-string/jumbo v2, "simSerialNumber"
12280 + aput-object v2, v0, v1
12282 + const/16 v1, 0x11
12284 + const-string/jumbo v2, "subscriberIdSetting"
12286 + aput-object v2, v0, v1
12288 + const/16 v1, 0x12
12290 + const-string/jumbo v2, "subscriberId"
12292 + aput-object v2, v0, v1
12294 + const/16 v1, 0x13
12296 + const-string v2, "accountsSetting"
12298 + aput-object v2, v0, v1
12300 + const/16 v1, 0x14
12302 + const-string v2, "accountsAuthTokensSetting"
12304 + aput-object v2, v0, v1
12306 + const/16 v1, 0x15
12308 + const-string/jumbo v2, "outgoingCallsSetting"
12310 + aput-object v2, v0, v1
12312 + const/16 v1, 0x16
12314 + const-string v2, "incomingCallsSetting"
12316 + aput-object v2, v0, v1
12318 + const/16 v1, 0x17
12320 + const-string v2, "contactsSetting"
12322 + aput-object v2, v0, v1
12324 + const/16 v1, 0x18
12326 + const-string v2, "calendarSetting"
12328 + aput-object v2, v0, v1
12330 + const/16 v1, 0x19
12332 + const-string/jumbo v2, "mmsSetting"
12334 + aput-object v2, v0, v1
12336 + const/16 v1, 0x1a
12338 + const-string/jumbo v2, "smsSetting"
12340 + aput-object v2, v0, v1
12342 + const/16 v1, 0x1b
12344 + const-string v2, "callLogSetting"
12346 + aput-object v2, v0, v1
12348 + const/16 v1, 0x1c
12350 + const-string v2, "bookmarksSetting"
12352 + aput-object v2, v0, v1
12354 + const/16 v1, 0x1d
12356 + const-string/jumbo v2, "systemLogsSetting"
12358 + aput-object v2, v0, v1
12360 + const/16 v1, 0x1e
12362 + const-string v2, "externalStorageSetting"
12364 + aput-object v2, v0, v1
12366 + const/16 v1, 0x1f
12368 + const-string v2, "cameraSetting"
12370 + aput-object v2, v0, v1
12372 + const/16 v1, 0x20
12374 + const-string/jumbo v2, "recordAudioSetting"
12376 + aput-object v2, v0, v1
12378 + const/16 v1, 0x21
12380 + const-string/jumbo v2, "notificationSetting"
12382 + aput-object v2, v0, v1
12384 + const/16 v1, 0x22
12386 + const-string v2, "intentBootCompletedSetting"
12388 + aput-object v2, v0, v1
12390 + const/16 v1, 0x23
12392 + const-string/jumbo v2, "smsSendSetting"
12394 + aput-object v2, v0, v1
12396 + const/16 v1, 0x24
12398 + const-string/jumbo v2, "phoneCallSetting"
12400 + aput-object v2, v0, v1
12402 + const/16 v1, 0x25
12404 + const-string v2, "ipTableProtectSetting"
12406 + aput-object v2, v0, v1
12408 + const/16 v1, 0x26
12410 + const-string v2, "iccAccessSetting"
12412 + aput-object v2, v0, v1
12414 + const/16 v1, 0x27
12416 + const-string v2, "addOnManagementSetting"
12418 + aput-object v2, v0, v1
12420 + const/16 v1, 0x28
12422 + const-string v2, "androidIdSetting"
12424 + aput-object v2, v0, v1
12426 + const/16 v1, 0x29
12428 + const-string v2, "androidId"
12430 + aput-object v2, v0, v1
12432 + const/16 v1, 0x2a
12434 + const-string/jumbo v2, "wifiInfoSetting"
12436 + aput-object v2, v0, v1
12438 + const/16 v1, 0x2b
12440 + const-string/jumbo v2, "switchConnectivitySetting"
12442 + aput-object v2, v0, v1
12444 + const/16 v1, 0x2c
12446 + const-string/jumbo v2, "sendMmsSetting"
12448 + aput-object v2, v0, v1
12450 + const/16 v1, 0x2d
12452 + const-string v2, "forceOnlineState"
12454 + aput-object v2, v0, v1
12456 + const/16 v1, 0x2e
12458 + const-string/jumbo v2, "switchWifiStateSetting"
12460 + aput-object v2, v0, v1
12462 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
12467 +.method public constructor <init>(Landroid/content/Context;)V
12470 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12472 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
12474 + new-instance v0, Ljava/io/File;
12476 + const-string v1, "/data/system/"
12478 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12480 + invoke-virtual {v0}, Ljava/io/File;->canWrite()Z
12484 + if-eqz v0, :cond_6c
12486 + new-instance v0, Ljava/io/File;
12488 + const-string v1, "/data/system/privacy.db"
12490 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12492 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12496 + if-eqz v0, :cond_2c
12498 + new-instance v0, Ljava/io/File;
12500 + const-string v1, "/data/system/privacy"
12502 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12504 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12508 + if-nez v0, :cond_5e
12511 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12513 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12515 + move-result-object v0
12517 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
12520 + new-instance v0, Ljava/io/File;
12522 + const-string v1, "/data/system/privacy.db"
12524 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12526 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12530 + if-nez v0, :cond_45
12532 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
12535 + new-instance v0, Ljava/io/File;
12537 + const-string v1, "/data/system/privacy"
12539 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12541 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12545 + if-nez v0, :cond_55
12547 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
12549 + .catchall {:try_start_35 .. :try_end_55} :catchall_6d
12552 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12554 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12556 + move-result-object v0
12558 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
12561 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
12565 + sput v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12567 + sget v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12571 + if-ge v0, v1, :cond_6c
12573 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase()V
12579 + move-exception v0
12581 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12583 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12585 + move-result-object v1
12587 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
12592 +.method private closeIdleDatabase()V
12595 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12600 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12602 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12604 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12608 + add-int/lit8 v0, v0, -0x1
12610 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12612 + move-result-object v0
12614 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12616 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12618 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12622 + if-nez v0, :cond_2c
12624 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12626 + if-eqz v0, :cond_2c
12628 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12630 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12634 + if-eqz v0, :cond_2c
12636 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12638 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12646 + move-exception v0
12650 + .catchall {:try_start_3 .. :try_end_30} :catchall_2e
12655 +.method private createDatabase()V
12658 + const-string v2, "PrivacyPersistenceAdapter"
12660 + const-string v3, "createDatabase - creating privacy database file"
12662 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12665 + const-string v2, "/data/system/privacy.db"
12669 + const/high16 v4, 0x1000
12671 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
12673 + move-result-object v0
12675 + const-string v2, "PrivacyPersistenceAdapter"
12677 + const-string v3, "createDatabase - creating privacy database"
12679 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12681 + 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);"
12683 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12685 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
12687 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12689 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
12691 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12693 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
12695 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12697 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
12699 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12701 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
12703 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12705 + if-eqz v0, :cond_40
12707 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12711 + if-eqz v2, :cond_40
12713 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12715 + .catch Landroid/database/SQLException; {:try_start_7 .. :try_end_40} :catch_41
12722 + move-exception v1
12724 + const-string v2, "PrivacyPersistenceAdapter"
12726 + const-string v3, "createDatabase - failed to create privacy database"
12728 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12733 +.method private createSettingsDir()V
12740 + new-instance v0, Ljava/io/File;
12742 + const-string v1, "/data/system/privacy/"
12744 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12746 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
12748 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setReadable(ZZ)Z
12750 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setExecutable(ZZ)Z
12755 +.method private deleteRecursive(Ljava/io/File;)V
12758 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
12762 + if-eqz v4, :cond_16
12764 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
12766 + move-result-object v0
12768 + array-length v3, v0
12773 + if-ge v2, v3, :cond_16
12775 + aget-object v1, v0, v2
12777 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
12779 + add-int/lit8 v2, v2, 0x1
12784 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
12789 +.method private declared-synchronized getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12795 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12797 + if-eqz v0, :cond_15
12799 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12801 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12805 + if-eqz v0, :cond_15
12807 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12809 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
12813 + if-eqz v0, :cond_1f
12816 + const-string v0, "/data/system/privacy.db"
12822 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
12824 + move-result-object v0
12826 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12829 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12831 + .catchall {:try_start_1 .. :try_end_21} :catchall_23
12838 + move-exception v0
12845 +.method private getDbVersion()I
12850 + const-string v3, "db_version"
12852 + invoke-virtual {p0, v3}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
12854 + move-result-object v1
12856 + if-nez v1, :cond_11
12858 + const-string v3, "PrivacyPersistenceAdapter"
12860 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: getValue returned null; assuming version = 1"
12862 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12869 + invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
12871 + .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_14} :catch_16
12878 + move-exception v0
12880 + const-string v3, "PrivacyPersistenceAdapter"
12882 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: failed to parse database version; returning 1"
12884 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12889 +.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;
12891 + .annotation system Ldalvik/annotation/Throws;
12893 + Ljava/lang/Exception;
12904 + if-nez v3, :cond_27
12908 + if-ge v2, v4, :cond_27
12910 + if-eqz v0, :cond_d
12913 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12916 + 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;
12918 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
12920 + move-result-object v0
12925 + add-int/lit8 v2, v2, 0x1
12930 + move-exception v1
12934 + if-eqz p1, :cond_22
12936 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12940 + if-eqz v4, :cond_22
12942 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12945 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12947 + move-result-object p1
12952 + if-nez v3, :cond_32
12954 + new-instance v4, Ljava/lang/Exception;
12956 + const-string/jumbo v5, "query - failed to execute query on the DB"
12958 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
12966 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
12968 + .annotation system Ldalvik/annotation/Throws;
12970 + Ljava/lang/Exception;
12981 + if-nez v3, :cond_28
12985 + if-ge v2, v4, :cond_28
12987 + if-eqz v0, :cond_d
12990 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12995 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
12997 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
12999 + move-result-object v0
13004 + add-int/lit8 v2, v2, 0x1
13009 + move-exception v1
13013 + if-eqz p1, :cond_23
13015 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13019 + if-eqz v4, :cond_23
13021 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13024 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13026 + move-result-object p1
13031 + if-nez v3, :cond_33
13033 + new-instance v4, Ljava/lang/Exception;
13035 + const-string/jumbo v5, "query - failed to execute query on the DB"
13037 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
13045 +.method private upgradeDatabase()V
13048 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13052 + if-ge v14, v15, :cond_31
13054 + const-string v14, "PrivacyPersistenceAdapter"
13056 + new-instance v15, Ljava/lang/StringBuilder;
13058 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
13060 + const-string v16, "PrivacyPersistenceAdapter:upgradeDatabase - upgrading DB from version "
13062 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13064 + move-result-object v15
13066 + sget v16, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13068 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13070 + move-result-object v15
13072 + const-string v16, " to "
13074 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13076 + move-result-object v15
13078 + const/16 v16, 0x4
13080 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13082 + move-result-object v15
13084 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13086 + move-result-object v15
13088 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13092 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13094 + packed-switch v14, :pswitch_data_12c
13102 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13104 + monitor-enter v15
13106 + .catchall {:try_start_32 .. :try_end_35} :catchall_11e
13107 + .catch Landroid/database/SQLException; {:try_start_32 .. :try_end_35} :catch_e6
13110 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13112 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13114 + invoke-virtual {v14}, Ljava/lang/Integer;->intValue()I
13118 + add-int/lit8 v14, v14, 0x1
13120 + invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13122 + move-result-object v14
13124 + sput-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13128 + .catchall {:try_start_35 .. :try_end_46} :catchall_e3
13131 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13133 + move-result-object v3
13135 + if-eqz v3, :cond_109
13137 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13141 + if-eqz v14, :cond_109
13143 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13145 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13147 + move-result-object v14
13149 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->lock()V
13151 + .catchall {:try_start_46 .. :try_end_5b} :catchall_11e
13152 + .catch Landroid/database/SQLException; {:try_start_46 .. :try_end_5b} :catch_e6
13155 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13159 + if-ge v14, v15, :cond_100
13161 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
13163 + .catchall {:try_start_5b .. :try_end_63} :catchall_113
13166 + const-string v14, "DROP TABLE IF EXISTS version;"
13168 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13170 + const-string v14, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
13172 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13174 + const-string v14, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
13176 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13178 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
13180 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13182 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
13184 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13186 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
13188 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13190 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
13192 + new-instance v11, Ljava/io/File;
13194 + const-string v14, "/data/system/privacy"
13196 + invoke-direct {v11, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13198 + invoke-virtual {v11}, Ljava/io/File;->listFiles()[Ljava/io/File;
13200 + move-result-object v1
13202 + array-length v7, v1
13209 + if-ge v6, v7, :cond_f7
13211 + aget-object v10, v1, v6
13213 + invoke-virtual {v10}, Ljava/io/File;->listFiles()[Ljava/io/File;
13215 + move-result-object v2
13217 + array-length v8, v2
13222 + if-ge v5, v8, :cond_f3
13224 + aget-object v13, v2, v5
13226 + invoke-virtual {v13}, Ljava/io/File;->isDirectory()Z
13230 + if-eqz v14, :cond_e0
13232 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
13234 + move-result-object v12
13238 + aget-object v14, v12, v14
13240 + if-eqz v14, :cond_e0
13242 + new-instance v9, Ljava/io/File;
13244 + new-instance v14, Ljava/lang/StringBuilder;
13246 + invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
13248 + invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13250 + move-result-object v14
13252 + const-string v15, "/"
13254 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13256 + move-result-object v14
13260 + aget-object v15, v12, v15
13262 + invoke-virtual {v15}, Ljava/io/File;->getName()Ljava/lang/String;
13264 + move-result-object v15
13266 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13268 + move-result-object v14
13270 + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13272 + move-result-object v14
13274 + invoke-direct {v9, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13276 + invoke-virtual {v9}, Ljava/io/File;->delete()Z
13280 + aget-object v14, v12, v14
13282 + invoke-virtual {v14, v9}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
13284 + move-object/from16 v0, p0
13286 + invoke-direct {v0, v13}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
13288 + .catchall {:try_start_63 .. :try_end_e0} :catchall_10e
13291 + add-int/lit8 v5, v5, 0x1
13296 + move-exception v14
13301 + .catchall {:try_start_e4 .. :try_end_e5} :catchall_e3
13306 + .catchall {:try_start_e5 .. :try_end_e6} :catchall_11e
13307 + .catch Landroid/database/SQLException; {:try_start_e5 .. :try_end_e6} :catch_e6
13310 + move-exception v4
13313 + const-string v14, "PrivacyPersistenceAdapter"
13315 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: SQLException occurred performing database upgrade"
13317 + invoke-static {v14, v15, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13319 + .catchall {:try_start_e7 .. :try_end_ee} :catchall_11e
13321 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13326 + add-int/lit8 v5, v6, 0x1
13334 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13338 + sput v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13340 + .catchall {:try_start_f7 .. :try_end_fd} :catchall_10e
13343 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13345 + .catchall {:try_start_fd .. :try_end_100} :catchall_113
13349 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13351 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13353 + move-result-object v14
13355 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->unlock()V
13357 + .catchall {:try_start_100 .. :try_end_109} :catchall_11e
13358 + .catch Landroid/database/SQLException; {:try_start_100 .. :try_end_109} :catch_e6
13361 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13366 + move-exception v14
13369 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13373 + .catchall {:try_start_10f .. :try_end_113} :catchall_113
13376 + move-exception v14
13379 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13381 + invoke-interface {v15}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13383 + move-result-object v15
13385 + invoke-interface {v15}, Ljava/util/concurrent/locks/Lock;->unlock()V
13389 + .catchall {:try_start_114 .. :try_end_11e} :catchall_11e
13390 + .catch Landroid/database/SQLException; {:try_start_114 .. :try_end_11e} :catch_e6
13393 + move-exception v14
13395 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13400 + const-string v14, "PrivacyPersistenceAdapter"
13402 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: Database is already at the most recent version"
13404 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13408 + :pswitch_data_12c
13409 + .packed-switch 0x1
13414 + .end packed-switch
13417 +.method private writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
13419 + .annotation system Ldalvik/annotation/Throws;
13421 + Ljava/lang/Exception;
13427 + new-instance v2, Ljava/io/File;
13429 + new-instance v5, Ljava/lang/StringBuilder;
13431 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13433 + const-string v6, "/data/system/privacy/"
13435 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13437 + move-result-object v5
13439 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13441 + move-result-object v5
13443 + const-string v6, "/"
13445 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13447 + move-result-object v5
13449 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13451 + move-result-object v5
13453 + invoke-direct {v2, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13455 + new-instance v3, Ljava/io/File;
13457 + new-instance v5, Ljava/lang/StringBuilder;
13459 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13461 + const-string v6, "/data/system/privacy/"
13463 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13465 + move-result-object v5
13467 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13469 + move-result-object v5
13471 + const-string v6, "/"
13473 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13475 + move-result-object v5
13477 + const-string v6, "/"
13479 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13481 + move-result-object v5
13483 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13485 + move-result-object v5
13487 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13489 + move-result-object v5
13491 + invoke-direct {v3, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13495 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13497 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13499 + move-result-object v5
13501 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->lock()V
13504 + invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
13510 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13516 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setExecutable(ZZ)Z
13518 + invoke-virtual {v3}, Ljava/io/File;->createNewFile()Z
13524 + invoke-virtual {v3, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13526 + new-instance v4, Ljava/io/OutputStreamWriter;
13528 + new-instance v5, Ljava/io/FileOutputStream;
13530 + invoke-direct {v5, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
13532 + invoke-direct {v4, v5}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
13534 + const-string/jumbo v5, "systemLogsSetting"
13536 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13540 + if-eqz v5, :cond_a4
13542 + new-instance v5, Ljava/lang/StringBuilder;
13544 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13546 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
13550 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13552 + move-result-object v5
13554 + const-string v6, ""
13556 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13558 + move-result-object v5
13560 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13562 + move-result-object v5
13564 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13568 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->flush()V
13570 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->close()V
13572 + .catchall {:try_start_51 .. :try_end_99} :catchall_d1
13573 + .catch Ljava/io/IOException; {:try_start_51 .. :try_end_99} :catch_c7
13577 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13579 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13581 + move-result-object v5
13583 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
13589 + const-string v5, "ipTableProtectSetting"
13591 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13595 + if-eqz v5, :cond_93
13597 + new-instance v5, Ljava/lang/StringBuilder;
13599 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13601 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
13605 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13607 + move-result-object v5
13609 + const-string v6, ""
13611 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13613 + move-result-object v5
13615 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13617 + move-result-object v5
13619 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13621 + .catchall {:try_start_a4 .. :try_end_c6} :catchall_d1
13622 + .catch Ljava/io/IOException; {:try_start_a4 .. :try_end_c6} :catch_c7
13627 + move-exception v0
13630 + new-instance v5, Ljava/lang/Exception;
13632 + const-string/jumbo v6, "saveSettings - could not write settings to file"
13634 + invoke-direct {v5, v6, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
13638 + .catchall {:try_start_c8 .. :try_end_d1} :catchall_d1
13641 + move-exception v5
13643 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13645 + invoke-interface {v6}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13647 + move-result-object v6
13649 + invoke-interface {v6}, Ljava/util/concurrent/locks/Lock;->unlock()V
13656 +.method public deleteSettings(Ljava/lang/String;)Z
13664 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13668 + .catchall {:try_start_2 .. :try_end_5} :catchall_148
13669 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2 .. :try_end_5} :catch_fe
13670 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_13b
13673 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13675 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13677 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
13681 + add-int/lit8 v1, v1, 0x1
13683 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13685 + move-result-object v1
13687 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13691 + .catchall {:try_start_5 .. :try_end_16} :catchall_fb
13694 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13696 + move-result-object v0
13698 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13700 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13702 + move-result-object v1
13704 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
13706 + .catchall {:try_start_16 .. :try_end_23} :catchall_148
13707 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_16 .. :try_end_23} :catch_fe
13708 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_23} :catch_13b
13711 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
13713 + .catchall {:try_start_23 .. :try_end_26} :catchall_130
13716 + const-string/jumbo v1, "settings"
13720 + new-array v2, v2, [Ljava/lang/String;
13724 + const-string v4, "_id"
13726 + aput-object v4, v2, v3
13728 + const-string/jumbo v3, "packageName=?"
13732 + new-array v4, v4, [Ljava/lang/String;
13736 + aput-object p1, v4, v5
13744 + 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;
13746 + move-result-object v8
13748 + if-eqz v8, :cond_10b
13750 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
13754 + if-lez v1, :cond_10b
13756 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
13760 + if-eqz v1, :cond_10b
13764 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
13768 + const-string v1, "allowed_contacts"
13770 + const-string/jumbo v2, "settings_id=?"
13774 + new-array v3, v3, [Ljava/lang/String;
13778 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
13780 + move-result-object v5
13782 + aput-object v5, v3, v4
13784 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
13786 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
13789 + const-string/jumbo v1, "settings"
13791 + const-string/jumbo v2, "packageName=?"
13795 + new-array v3, v3, [Ljava/lang/String;
13799 + aput-object p1, v3, v4
13801 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
13805 + if-nez v1, :cond_99
13807 + const-string v1, "PrivacyPersistenceAdapter"
13809 + new-instance v2, Ljava/lang/StringBuilder;
13811 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13813 + const-string v3, "deleteSettings - database entry for "
13815 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13817 + move-result-object v2
13819 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13821 + move-result-object v2
13823 + const-string v3, " not found"
13825 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13827 + move-result-object v2
13829 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13831 + move-result-object v2
13833 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13836 + new-instance v12, Ljava/io/File;
13838 + new-instance v1, Ljava/lang/StringBuilder;
13840 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13842 + const-string v2, "/data/system/privacy/"
13844 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13846 + move-result-object v1
13848 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13850 + move-result-object v1
13852 + const-string v2, "/"
13854 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13856 + move-result-object v1
13858 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13860 + move-result-object v1
13862 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13864 + new-instance v13, Ljava/io/File;
13866 + new-instance v1, Ljava/lang/StringBuilder;
13868 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13870 + const-string v2, "/data/system/privacy/"
13872 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13874 + move-result-object v1
13876 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13878 + move-result-object v1
13880 + const-string v2, "/systemLogsSetting"
13882 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13884 + move-result-object v1
13886 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13888 + move-result-object v1
13890 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13892 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
13894 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
13896 + move-result-object v1
13898 + if-eqz v1, :cond_e5
13900 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
13902 + move-result-object v1
13904 + array-length v1, v1
13906 + if-nez v1, :cond_e8
13909 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
13912 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13914 + .catchall {:try_start_26 .. :try_end_eb} :catchall_12b
13917 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13919 + .catchall {:try_start_eb .. :try_end_ee} :catchall_130
13922 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13924 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13926 + move-result-object v1
13928 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
13930 + .catchall {:try_start_ee .. :try_end_f7} :catchall_148
13931 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_ee .. :try_end_f7} :catch_fe
13932 + .catch Ljava/lang/Exception; {:try_start_ee .. :try_end_f7} :catch_13b
13934 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13940 + move-exception v1
13945 + .catchall {:try_start_fc .. :try_end_fd} :catchall_fb
13950 + .catchall {:try_start_fd .. :try_end_fe} :catchall_148
13951 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_fd .. :try_end_fe} :catch_fe
13952 + .catch Ljava/lang/Exception; {:try_start_fd .. :try_end_fe} :catch_13b
13955 + move-exception v9
13960 + const-string v1, "PrivacyPersistenceAdapter"
13962 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings: failed to open the database, or open a transaction"
13964 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13966 + .catchall {:try_start_100 .. :try_end_107} :catchall_148
13968 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13974 + const-string v1, "PrivacyPersistenceAdapter"
13976 + new-instance v2, Ljava/lang/StringBuilder;
13978 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13980 + const-string v3, "deleteSettings - database entry for "
13982 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13984 + move-result-object v2
13986 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13988 + move-result-object v2
13990 + const-string v3, " not found"
13992 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13994 + move-result-object v2
13996 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13998 + move-result-object v2
14000 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14002 + .catchall {:try_start_10b .. :try_end_129} :catchall_12b
14007 + move-exception v1
14010 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
14014 + .catchall {:try_start_12c .. :try_end_130} :catchall_130
14017 + move-exception v1
14020 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14022 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
14024 + move-result-object v2
14026 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
14030 + .catchall {:try_start_131 .. :try_end_13b} :catchall_148
14031 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_131 .. :try_end_13b} :catch_fe
14032 + .catch Ljava/lang/Exception; {:try_start_131 .. :try_end_13b} :catch_13b
14035 + move-exception v9
14040 + const-string v1, "PrivacyPersistenceAdapter"
14042 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings - could not delete settings"
14044 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14046 + .catchall {:try_start_13d .. :try_end_144} :catchall_148
14048 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14053 + move-exception v1
14055 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14060 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
14063 + const/16 v55, 0x0
14065 + if-nez p1, :cond_c
14067 + new-instance v1, Ljava/security/InvalidParameterException;
14069 + const-string v4, "PrivacyPersistenceAdapter:getSettings:insufficient application identifier - package name is required"
14071 + invoke-direct {v1, v4}, Ljava/security/InvalidParameterException;-><init>(Ljava/lang/String;)V
14077 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14081 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_c .. :try_end_f} :catch_2ce
14084 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14086 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14088 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
14092 + add-int/lit8 v1, v1, 0x1
14094 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14096 + move-result-object v1
14098 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14102 + .catchall {:try_start_f .. :try_end_20} :catchall_2cb
14105 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
14107 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_2ce
14109 + move-result-object v2
14111 + const/16 v53, 0x0
14113 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14115 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14117 + move-result-object v1
14119 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
14122 + const-string/jumbo v3, "settings"
14124 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
14126 + const-string/jumbo v5, "packageName=?"
14130 + new-array v6, v1, [Ljava/lang/String;
14134 + aput-object p1, v6, v1
14144 + move-object/from16 v1, p0
14146 + 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;
14148 + move-result-object v53
14150 + if-eqz v53, :cond_310
14152 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14158 + if-eq v1, v4, :cond_6a
14160 + const-string v1, "PrivacyPersistenceAdapter"
14162 + new-instance v4, Ljava/lang/StringBuilder;
14164 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14166 + const-string v5, "Multiple privacy settings found for package "
14168 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14170 + move-result-object v4
14172 + move-object/from16 v0, p1
14174 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14176 + move-result-object v4
14178 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14180 + move-result-object v4
14182 + invoke-static {v1, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
14185 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToFirst()Z
14189 + if-eqz v1, :cond_310
14191 + new-instance v3, Landroid/privacy/PrivacySettings;
14195 + move-object/from16 v0, v53
14197 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14201 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14203 + move-result-object v4
14207 + move-object/from16 v0, v53
14209 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14211 + move-result-object v5
14215 + move-object/from16 v0, v53
14217 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14223 + move-object/from16 v0, v53
14225 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14229 + int-to-byte v7, v1
14233 + move-object/from16 v0, v53
14235 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14237 + move-result-object v8
14241 + move-object/from16 v0, v53
14243 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14247 + int-to-byte v9, v1
14251 + move-object/from16 v0, v53
14253 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14255 + move-result-object v10
14259 + move-object/from16 v0, v53
14261 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14265 + int-to-byte v11, v1
14269 + move-object/from16 v0, v53
14271 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14273 + move-result-object v12
14277 + move-object/from16 v0, v53
14279 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14281 + move-result-object v13
14285 + move-object/from16 v0, v53
14287 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14291 + int-to-byte v14, v1
14295 + move-object/from16 v0, v53
14297 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14299 + move-result-object v15
14303 + move-object/from16 v0, v53
14305 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14307 + move-result-object v16
14311 + move-object/from16 v0, v53
14313 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14317 + int-to-byte v0, v1
14319 + move/from16 v17, v0
14323 + move-object/from16 v0, v53
14325 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14329 + int-to-byte v0, v1
14331 + move/from16 v18, v0
14335 + move-object/from16 v0, v53
14337 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14341 + int-to-byte v0, v1
14343 + move/from16 v19, v0
14345 + const/16 v1, 0x10
14347 + move-object/from16 v0, v53
14349 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14351 + move-result-object v20
14353 + const/16 v1, 0x11
14355 + move-object/from16 v0, v53
14357 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14361 + int-to-byte v0, v1
14363 + move/from16 v21, v0
14365 + const/16 v1, 0x12
14367 + move-object/from16 v0, v53
14369 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14371 + move-result-object v22
14373 + const/16 v1, 0x13
14375 + move-object/from16 v0, v53
14377 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14381 + int-to-byte v0, v1
14383 + move/from16 v23, v0
14385 + const/16 v1, 0x14
14387 + move-object/from16 v0, v53
14389 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14393 + int-to-byte v0, v1
14395 + move/from16 v24, v0
14397 + const/16 v1, 0x15
14399 + move-object/from16 v0, v53
14401 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14405 + int-to-byte v0, v1
14407 + move/from16 v25, v0
14409 + const/16 v1, 0x16
14411 + move-object/from16 v0, v53
14413 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14417 + int-to-byte v0, v1
14419 + move/from16 v26, v0
14421 + const/16 v1, 0x17
14423 + move-object/from16 v0, v53
14425 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14429 + int-to-byte v0, v1
14431 + move/from16 v27, v0
14433 + const/16 v1, 0x18
14435 + move-object/from16 v0, v53
14437 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14441 + int-to-byte v0, v1
14443 + move/from16 v28, v0
14445 + const/16 v1, 0x19
14447 + move-object/from16 v0, v53
14449 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14453 + int-to-byte v0, v1
14455 + move/from16 v29, v0
14457 + const/16 v1, 0x1a
14459 + move-object/from16 v0, v53
14461 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14465 + int-to-byte v0, v1
14467 + move/from16 v30, v0
14469 + const/16 v1, 0x1b
14471 + move-object/from16 v0, v53
14473 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14477 + int-to-byte v0, v1
14479 + move/from16 v31, v0
14481 + const/16 v1, 0x1c
14483 + move-object/from16 v0, v53
14485 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14489 + int-to-byte v0, v1
14491 + move/from16 v32, v0
14493 + const/16 v1, 0x1d
14495 + move-object/from16 v0, v53
14497 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14501 + int-to-byte v0, v1
14503 + move/from16 v33, v0
14505 + const/16 v1, 0x1e
14507 + move-object/from16 v0, v53
14509 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14513 + int-to-byte v0, v1
14515 + move/from16 v34, v0
14517 + const/16 v1, 0x1f
14519 + move-object/from16 v0, v53
14521 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14525 + int-to-byte v0, v1
14527 + move/from16 v35, v0
14529 + const/16 v1, 0x20
14531 + move-object/from16 v0, v53
14533 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14537 + int-to-byte v0, v1
14539 + move/from16 v36, v0
14541 + const/16 v1, 0x21
14543 + move-object/from16 v0, v53
14545 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14549 + int-to-byte v0, v1
14551 + move/from16 v37, v0
14553 + const/16 v1, 0x22
14555 + move-object/from16 v0, v53
14557 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14561 + int-to-byte v0, v1
14563 + move/from16 v38, v0
14565 + const/16 v39, 0x0
14567 + const/16 v1, 0x23
14569 + move-object/from16 v0, v53
14571 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14575 + int-to-byte v0, v1
14577 + move/from16 v40, v0
14579 + const/16 v1, 0x24
14581 + move-object/from16 v0, v53
14583 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14587 + int-to-byte v0, v1
14589 + move/from16 v41, v0
14591 + const/16 v1, 0x25
14593 + move-object/from16 v0, v53
14595 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14599 + int-to-byte v0, v1
14601 + move/from16 v42, v0
14603 + const/16 v1, 0x26
14605 + move-object/from16 v0, v53
14607 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14611 + int-to-byte v0, v1
14613 + move/from16 v43, v0
14615 + const/16 v1, 0x27
14617 + move-object/from16 v0, v53
14619 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14623 + int-to-byte v0, v1
14625 + move/from16 v44, v0
14627 + const/16 v1, 0x28
14629 + move-object/from16 v0, v53
14631 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14635 + int-to-byte v0, v1
14637 + move/from16 v45, v0
14639 + const/16 v1, 0x29
14641 + move-object/from16 v0, v53
14643 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14645 + move-result-object v46
14647 + const/16 v1, 0x2a
14649 + move-object/from16 v0, v53
14651 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14655 + int-to-byte v0, v1
14657 + move/from16 v47, v0
14659 + const/16 v1, 0x2b
14661 + move-object/from16 v0, v53
14663 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14667 + int-to-byte v0, v1
14669 + move/from16 v48, v0
14671 + const/16 v1, 0x2c
14673 + move-object/from16 v0, v53
14675 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14679 + int-to-byte v0, v1
14681 + move/from16 v49, v0
14683 + const/16 v1, 0x2d
14685 + move-object/from16 v0, v53
14687 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14691 + int-to-byte v0, v1
14693 + move/from16 v50, v0
14695 + const/16 v1, 0x2e
14697 + move-object/from16 v0, v53
14699 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14703 + int-to-byte v0, v1
14705 + move/from16 v51, v0
14707 + 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
14709 + .catchall {:try_start_2f .. :try_end_24c} :catchall_2f5
14710 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_24c} :catch_30c
14713 + const-string v6, "allowed_contacts"
14717 + new-array v7, v1, [Ljava/lang/String;
14721 + const-string v4, "contact_id"
14723 + aput-object v4, v7, v1
14725 + const-string/jumbo v8, "settings_id=?"
14729 + new-array v9, v1, [Ljava/lang/String;
14733 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
14735 + move-result-object v4
14737 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14741 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
14743 + move-result-object v4
14745 + aput-object v4, v9, v1
14755 + move-object/from16 v4, p0
14757 + move-object v5, v2
14759 + 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;
14761 + move-result-object v53
14763 + if-eqz v53, :cond_2e3
14765 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14769 + if-lez v1, :cond_2e3
14771 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14775 + new-array v0, v1, [I
14777 + move-object/from16 v52, v0
14780 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToNext()Z
14784 + if-eqz v1, :cond_2de
14786 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getPosition()I
14792 + move-object/from16 v0, v53
14794 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
14800 + .catchall {:try_start_24c .. :try_end_299} :catchall_30a
14801 + .catch Ljava/lang/Exception; {:try_start_24c .. :try_end_299} :catch_29a
14806 + move-exception v54
14810 + const-string v1, "PrivacyPersistenceAdapter"
14812 + new-instance v4, Ljava/lang/StringBuilder;
14814 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14816 + const-string v5, "getSettings - failed to get settings for package: "
14818 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14820 + move-result-object v4
14822 + move-object/from16 v0, p1
14824 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14826 + move-result-object v4
14828 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14830 + move-result-object v4
14832 + move-object/from16 v0, v54
14834 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14836 + .catchall {:try_start_29b .. :try_end_2b7} :catchall_30a
14838 + if-eqz v53, :cond_2bc
14840 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14843 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14845 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14847 + move-result-object v1
14849 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14851 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14854 + move-object/from16 v55, v3
14857 + return-object v55
14860 + move-exception v1
14865 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
14870 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2cd .. :try_end_2ce} :catch_2ce
14873 + move-exception v54
14875 + const-string v1, "PrivacyPersistenceAdapter"
14877 + const-string v4, "getSettings - database could not be opened"
14879 + move-object/from16 v0, v54
14881 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14883 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14885 + move-object/from16 v3, v55
14891 + move-object/from16 v0, v52
14893 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
14895 + .catchall {:try_start_2de .. :try_end_2e3} :catchall_30a
14896 + .catch Ljava/lang/Exception; {:try_start_2de .. :try_end_2e3} :catch_29a
14900 + if-eqz v53, :cond_2e8
14902 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14905 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14907 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14909 + move-result-object v1
14911 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14913 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14918 + move-exception v1
14920 + move-object/from16 v3, v55
14923 + if-eqz v53, :cond_2fd
14925 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14928 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14930 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14932 + move-result-object v4
14934 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
14936 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14941 + move-exception v1
14946 + move-exception v54
14948 + move-object/from16 v3, v55
14953 + move-object/from16 v3, v55
14958 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
14966 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14970 + .catchall {:try_start_2 .. :try_end_5} :catchall_41
14973 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14975 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14977 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
14981 + add-int/lit8 v3, v3, 0x1
14983 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14985 + move-result-object v3
14987 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14991 + .catchall {:try_start_5 .. :try_end_16} :catchall_3e
14994 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
14996 + move-result-object v1
14998 + if-eqz v1, :cond_22
15000 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
15004 + if-nez v2, :cond_46
15007 + const-string v2, "PrivacyPersistenceAdapter"
15009 + new-instance v3, Ljava/lang/StringBuilder;
15011 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
15013 + const-string v4, "PrivacyPersistenceAdapter:getValue: Database not obtained while getting value for name: "
15015 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15017 + move-result-object v3
15019 + invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15021 + move-result-object v3
15023 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15025 + move-result-object v3
15027 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15029 + .catchall {:try_start_16 .. :try_end_3a} :catchall_41
15031 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15037 + move-exception v0
15042 + .catchall {:try_start_3f .. :try_end_40} :catchall_3e
15047 + .catchall {:try_start_40 .. :try_end_41} :catchall_41
15050 + move-exception v0
15052 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15058 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15060 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15062 + move-result-object v0
15064 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
15066 + .catchall {:try_start_46 .. :try_end_4f} :catchall_41
15069 + const-string/jumbo v2, "map"
15073 + new-array v3, v0, [Ljava/lang/String;
15077 + const-string/jumbo v4, "value"
15079 + aput-object v4, v3, v0
15081 + const-string/jumbo v4, "name=?"
15085 + new-array v5, v0, [Ljava/lang/String;
15089 + aput-object p1, v5, v0
15099 + move-object v0, p0
15101 + 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;
15103 + move-result-object v10
15105 + if-eqz v10, :cond_97
15107 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
15111 + if-lez v0, :cond_97
15113 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
15117 + if-eqz v0, :cond_97
15119 + const-string/jumbo v0, "value"
15121 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
15125 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15127 + move-result-object v12
15129 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
15131 + .catchall {:try_start_4f .. :try_end_89} :catchall_d3
15132 + .catch Ljava/lang/Exception; {:try_start_4f .. :try_end_89} :catch_b0
15136 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15138 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15140 + move-result-object v0
15142 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15144 + .catchall {:try_start_89 .. :try_end_92} :catchall_41
15147 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15149 + move-object v0, v12
15155 + const-string v0, "PrivacyPersistenceAdapter"
15157 + new-instance v2, Ljava/lang/StringBuilder;
15159 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15161 + const-string v3, "PrivacyPersistenceAdapter:getValue: Could not get value for name: "
15163 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15165 + move-result-object v2
15167 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15169 + move-result-object v2
15171 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15173 + move-result-object v2
15175 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
15177 + .catchall {:try_start_97 .. :try_end_af} :catchall_d3
15178 + .catch Ljava/lang/Exception; {:try_start_97 .. :try_end_af} :catch_b0
15183 + move-exception v11
15186 + const-string v0, "PrivacyPersistenceAdapter"
15188 + new-instance v2, Ljava/lang/StringBuilder;
15190 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15192 + const-string v3, "PrivacyPersistenceAdapter:getValue: Exception occurred while getting value for name: "
15194 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15196 + move-result-object v2
15198 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15200 + move-result-object v2
15202 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15204 + move-result-object v2
15206 + invoke-static {v0, v2, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15208 + .catchall {:try_start_b1 .. :try_end_c9} :catchall_d3
15211 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15213 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15215 + move-result-object v0
15217 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15222 + move-exception v0
15224 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15226 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15228 + move-result-object v2
15230 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15234 + .catchall {:try_start_c9 .. :try_end_de} :catchall_41
15237 +.method public purgeSettings()Z
15240 + const/16 v23, 0x1
15242 + new-instance v13, Ljava/util/HashSet;
15244 + invoke-direct {v13}, Ljava/util/HashSet;-><init>()V
15246 + move-object/from16 v0, p0
15248 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
15250 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
15252 + move-result-object v20
15256 + move-object/from16 v0, v20
15258 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
15260 + move-result-object v18
15262 + invoke-interface/range {v18 .. v18}, Ljava/util/List;->iterator()Ljava/util/Iterator;
15264 + move-result-object v17
15267 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
15271 + if-eqz v2, :cond_2c
15273 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
15275 + move-result-object v12
15277 + check-cast v12, Landroid/content/pm/ApplicationInfo;
15279 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15281 + invoke-interface {v13, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
15289 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15293 + .catchall {:try_start_2d .. :try_end_30} :catchall_11b
15294 + .catch Ljava/lang/Exception; {:try_start_2d .. :try_end_30} :catch_56
15297 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15299 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15301 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
15305 + add-int/lit8 v2, v2, 0x1
15307 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15309 + move-result-object v2
15311 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15315 + .catchall {:try_start_30 .. :try_end_41} :catchall_53
15318 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
15320 + move-result-object v3
15322 + if-nez v3, :cond_68
15324 + const-string v2, "PrivacyPersistenceAdapter"
15326 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings: db could not be obtained"
15328 + invoke-static {v2, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15330 + .catchall {:try_start_41 .. :try_end_4e} :catchall_11b
15331 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_4e} :catch_56
15335 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15341 + move-exception v2
15346 + .catchall {:try_start_54 .. :try_end_55} :catchall_53
15351 + .catchall {:try_start_55 .. :try_end_56} :catchall_11b
15352 + .catch Ljava/lang/Exception; {:try_start_55 .. :try_end_56} :catch_56
15355 + move-exception v16
15358 + const-string v2, "PrivacyPersistenceAdapter"
15360 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings - purging DB failed"
15362 + move-object/from16 v0, v16
15364 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15366 + .catchall {:try_start_57 .. :try_end_60} :catchall_11b
15368 + const/16 v23, 0x0
15370 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15373 + move/from16 v2, v23
15379 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15381 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15383 + move-result-object v2
15385 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->lock()V
15387 + .catchall {:try_start_68 .. :try_end_71} :catchall_11b
15388 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_71} :catch_56
15393 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
15395 + .catchall {:try_start_72 .. :try_end_75} :catchall_110
15398 + const-string/jumbo v4, "settings"
15402 + new-array v5, v2, [Ljava/lang/String;
15406 + const-string/jumbo v6, "packageName"
15408 + aput-object v6, v5, v2
15422 + move-object/from16 v2, p0
15424 + 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;
15426 + move-result-object v15
15428 + if-eqz v15, :cond_bd
15430 + invoke-interface {v15}, Landroid/database/Cursor;->getCount()I
15434 + if-lez v2, :cond_bd
15436 + invoke-interface {v15}, Landroid/database/Cursor;->moveToFirst()Z
15440 + if-eqz v2, :cond_bd
15445 + invoke-interface {v15, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15447 + move-result-object v22
15449 + move-object/from16 v0, v22
15451 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15455 + if-nez v2, :cond_b7
15457 + const-string/jumbo v2, "settings"
15459 + const-string/jumbo v4, "packageName = ?"
15463 + new-array v5, v5, [Ljava/lang/String;
15467 + aput-object v22, v5, v6
15469 + invoke-virtual {v3, v2, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
15472 + invoke-interface {v15}, Landroid/database/Cursor;->moveToNext()Z
15476 + if-nez v2, :cond_9b
15479 + new-instance v24, Ljava/io/File;
15481 + const-string v2, "/data/system/privacy"
15483 + move-object/from16 v0, v24
15485 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
15487 + invoke-virtual/range {v24 .. v24}, Ljava/io/File;->listFiles()[Ljava/io/File;
15489 + move-result-object v14
15491 + array-length v0, v14
15493 + move/from16 v19, v0
15495 + const/16 v17, 0x0
15498 + move/from16 v0, v17
15500 + move/from16 v1, v19
15502 + if-ge v0, v1, :cond_ed
15504 + aget-object v21, v14, v17
15506 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->getName()Ljava/lang/String;
15508 + move-result-object v22
15510 + move-object/from16 v0, v22
15512 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15516 + if-nez v2, :cond_ea
15518 + move-object/from16 v0, p0
15520 + move-object/from16 v1, v21
15522 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
15525 + add-int/lit8 v17, v17, 0x1
15530 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
15532 + .catchall {:try_start_75 .. :try_end_f0} :catchall_106
15534 + if-eqz v15, :cond_f5
15537 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
15540 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
15542 + .catchall {:try_start_f2 .. :try_end_f8} :catchall_110
15545 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15547 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15549 + move-result-object v2
15551 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15553 + .catchall {:try_start_f8 .. :try_end_101} :catchall_11b
15554 + .catch Ljava/lang/Exception; {:try_start_f8 .. :try_end_101} :catch_56
15556 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15561 + move-exception v2
15563 + if-eqz v15, :cond_10c
15566 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
15569 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
15573 + .catchall {:try_start_109 .. :try_end_110} :catchall_110
15576 + move-exception v2
15579 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15581 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15583 + move-result-object v4
15585 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
15589 + .catchall {:try_start_111 .. :try_end_11b} :catchall_11b
15590 + .catch Ljava/lang/Exception; {:try_start_111 .. :try_end_11b} :catch_56
15593 + move-exception v2
15595 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15600 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
15603 + const/16 v19, 0x0
15605 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
15607 + move-result-object v18
15609 + if-eqz v18, :cond_e
15611 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->isEmpty()Z
15615 + if-eqz v4, :cond_18
15618 + const-string v4, "PrivacyPersistenceAdapter"
15620 + const-string/jumbo v5, "saveSettings - either package name is missing"
15622 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15630 + new-instance v22, Landroid/content/ContentValues;
15632 + invoke-direct/range {v22 .. v22}, Landroid/content/ContentValues;-><init>()V
15634 + const-string/jumbo v4, "packageName"
15636 + move-object/from16 v0, v22
15638 + move-object/from16 v1, v18
15640 + invoke-virtual {v0, v4, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15642 + const-string/jumbo v4, "uid"
15646 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15648 + move-result-object v5
15650 + move-object/from16 v0, v22
15652 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
15654 + const-string v4, "deviceIdSetting"
15656 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
15660 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15662 + move-result-object v5
15664 + move-object/from16 v0, v22
15666 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15668 + const-string v4, "deviceId"
15670 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
15672 + move-result-object v5
15674 + move-object/from16 v0, v22
15676 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15678 + const-string v4, "line1NumberSetting"
15680 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
15684 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15686 + move-result-object v5
15688 + move-object/from16 v0, v22
15690 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15692 + const-string v4, "line1Number"
15694 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
15696 + move-result-object v5
15698 + move-object/from16 v0, v22
15700 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15702 + const-string v4, "locationGpsSetting"
15704 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15708 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15710 + move-result-object v5
15712 + move-object/from16 v0, v22
15714 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15716 + const-string v4, "locationGpsLat"
15718 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15720 + move-result-object v5
15722 + move-object/from16 v0, v22
15724 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15726 + const-string v4, "locationGpsLon"
15728 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15730 + move-result-object v5
15732 + move-object/from16 v0, v22
15734 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15736 + const-string v4, "locationNetworkSetting"
15738 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15742 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15744 + move-result-object v5
15746 + move-object/from16 v0, v22
15748 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15750 + const-string v4, "locationNetworkLat"
15752 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15754 + move-result-object v5
15756 + move-object/from16 v0, v22
15758 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15760 + const-string v4, "locationNetworkLon"
15762 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15764 + move-result-object v5
15766 + move-object/from16 v0, v22
15768 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15770 + const-string/jumbo v4, "networkInfoSetting"
15772 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15776 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15778 + move-result-object v5
15780 + move-object/from16 v0, v22
15782 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15784 + const-string/jumbo v4, "simInfoSetting"
15786 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15790 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15792 + move-result-object v5
15794 + move-object/from16 v0, v22
15796 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15798 + const-string/jumbo v4, "simSerialNumberSetting"
15800 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
15804 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15806 + move-result-object v5
15808 + move-object/from16 v0, v22
15810 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15812 + const-string/jumbo v4, "simSerialNumber"
15814 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
15816 + move-result-object v5
15818 + move-object/from16 v0, v22
15820 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15822 + const-string/jumbo v4, "subscriberIdSetting"
15824 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
15828 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15830 + move-result-object v5
15832 + move-object/from16 v0, v22
15834 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15836 + const-string/jumbo v4, "subscriberId"
15838 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
15840 + move-result-object v5
15842 + move-object/from16 v0, v22
15844 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15846 + const-string v4, "accountsSetting"
15848 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
15852 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15854 + move-result-object v5
15856 + move-object/from16 v0, v22
15858 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15860 + const-string v4, "accountsAuthTokensSetting"
15862 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
15866 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15868 + move-result-object v5
15870 + move-object/from16 v0, v22
15872 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15874 + const-string/jumbo v4, "outgoingCallsSetting"
15876 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
15880 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15882 + move-result-object v5
15884 + move-object/from16 v0, v22
15886 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15888 + const-string v4, "incomingCallsSetting"
15890 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
15894 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15896 + move-result-object v5
15898 + move-object/from16 v0, v22
15900 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15902 + const-string v4, "contactsSetting"
15904 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
15908 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15910 + move-result-object v5
15912 + move-object/from16 v0, v22
15914 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15916 + const-string v4, "calendarSetting"
15918 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
15922 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15924 + move-result-object v5
15926 + move-object/from16 v0, v22
15928 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15930 + const-string/jumbo v4, "mmsSetting"
15932 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
15936 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15938 + move-result-object v5
15940 + move-object/from16 v0, v22
15942 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15944 + const-string/jumbo v4, "smsSetting"
15946 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
15950 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15952 + move-result-object v5
15954 + move-object/from16 v0, v22
15956 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15958 + const-string v4, "callLogSetting"
15960 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
15964 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15966 + move-result-object v5
15968 + move-object/from16 v0, v22
15970 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15972 + const-string v4, "bookmarksSetting"
15974 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
15978 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15980 + move-result-object v5
15982 + move-object/from16 v0, v22
15984 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15986 + const-string/jumbo v4, "systemLogsSetting"
15988 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
15992 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15994 + move-result-object v5
15996 + move-object/from16 v0, v22
15998 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16000 + const-string/jumbo v4, "notificationSetting"
16002 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
16006 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16008 + move-result-object v5
16010 + move-object/from16 v0, v22
16012 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16014 + const-string v4, "intentBootCompletedSetting"
16016 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
16020 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16022 + move-result-object v5
16024 + move-object/from16 v0, v22
16026 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16028 + const-string v4, "cameraSetting"
16030 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
16034 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16036 + move-result-object v5
16038 + move-object/from16 v0, v22
16040 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16042 + const-string/jumbo v4, "recordAudioSetting"
16044 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
16048 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16050 + move-result-object v5
16052 + move-object/from16 v0, v22
16054 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16056 + const-string/jumbo v4, "smsSendSetting"
16058 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
16062 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16064 + move-result-object v5
16066 + move-object/from16 v0, v22
16068 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16070 + const-string/jumbo v4, "phoneCallSetting"
16072 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
16076 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16078 + move-result-object v5
16080 + move-object/from16 v0, v22
16082 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16084 + const-string v4, "ipTableProtectSetting"
16086 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
16090 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16092 + move-result-object v5
16094 + move-object/from16 v0, v22
16096 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16098 + const-string v4, "iccAccessSetting"
16100 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
16104 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16106 + move-result-object v5
16108 + move-object/from16 v0, v22
16110 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16112 + const-string v4, "addOnManagementSetting"
16114 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAddOnManagementSetting()B
16118 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16120 + move-result-object v5
16122 + move-object/from16 v0, v22
16124 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16126 + const-string v4, "androidIdSetting"
16128 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
16132 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16134 + move-result-object v5
16136 + move-object/from16 v0, v22
16138 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16140 + const-string v4, "androidId"
16142 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
16144 + move-result-object v5
16146 + move-object/from16 v0, v22
16148 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16150 + const-string/jumbo v4, "wifiInfoSetting"
16152 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
16156 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16158 + move-result-object v5
16160 + move-object/from16 v0, v22
16162 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16164 + const-string/jumbo v4, "switchConnectivitySetting"
16166 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
16170 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16172 + move-result-object v5
16174 + move-object/from16 v0, v22
16176 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16178 + const-string/jumbo v4, "sendMmsSetting"
16180 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSendMmsSetting()B
16184 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
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/Byte;)V
16192 + const-string v4, "forceOnlineState"
16194 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getForceOnlineState()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/jumbo v4, "switchWifiStateSetting"
16208 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
16212 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16214 + move-result-object v5
16216 + move-object/from16 v0, v22
16218 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16225 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16229 + .catchall {:try_start_2a9 .. :try_end_2ac} :catchall_33c
16230 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2ac} :catch_311
16233 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16235 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16237 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
16241 + add-int/lit8 v4, v4, 0x1
16243 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16245 + move-result-object v4
16247 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16251 + .catchall {:try_start_2ac .. :try_end_2bd} :catchall_339
16254 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16256 + move-result-object v3
16258 + if-eqz v3, :cond_4f2
16260 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16264 + if-eqz v4, :cond_4f2
16266 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16268 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16270 + move-result-object v4
16272 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
16274 + .catchall {:try_start_2bd .. :try_end_2d2} :catchall_33c
16275 + .catch Ljava/lang/Exception; {:try_start_2bd .. :try_end_2d2} :catch_311
16278 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
16280 + .catchall {:try_start_2d2 .. :try_end_2d5} :catchall_306
16283 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
16285 + move-result-object v16
16287 + if-eqz v16, :cond_38d
16289 + const-string/jumbo v4, "settings"
16291 + const-string v5, "_id=?"
16295 + new-array v6, v6, [Ljava/lang/String;
16299 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16301 + move-result-object v8
16303 + aput-object v8, v6, v7
16305 + move-object/from16 v0, v22
16307 + 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
16313 + if-ge v4, v5, :cond_341
16315 + new-instance v4, Ljava/lang/Exception;
16317 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16319 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16323 + .catchall {:try_start_2d5 .. :try_end_2fc} :catchall_2fc
16326 + move-exception v4
16329 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16331 + if-eqz v13, :cond_305
16333 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16338 + .catchall {:try_start_2fd .. :try_end_306} :catchall_306
16341 + move-exception v4
16344 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16346 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16348 + move-result-object v5
16350 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
16354 + .catchall {:try_start_307 .. :try_end_311} :catchall_33c
16355 + .catch Ljava/lang/Exception; {:try_start_307 .. :try_end_311} :catch_311
16358 + move-exception v14
16361 + const-string v4, "PrivacyPersistenceAdapter"
16363 + new-instance v5, Ljava/lang/StringBuilder;
16365 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16367 + const-string v6, "PrivacyPersistenceAdapter:saveSettings: saving for "
16369 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16371 + move-result-object v5
16373 + move-object/from16 v0, v18
16375 + invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16377 + move-result-object v5
16379 + const-string v6, " failed"
16381 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16383 + move-result-object v5
16385 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16387 + move-result-object v5
16389 + invoke-static {v4, v5, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16391 + .catchall {:try_start_312 .. :try_end_332} :catchall_33c
16393 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16396 + move/from16 v4, v19
16401 + move-exception v4
16406 + .catchall {:try_start_33a .. :try_end_33b} :catchall_339
16411 + .catchall {:try_start_33b .. :try_end_33c} :catchall_33c
16412 + .catch Ljava/lang/Exception; {:try_start_33b .. :try_end_33c} :catch_311
16415 + move-exception v4
16417 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16423 + const-string v4, "allowed_contacts"
16425 + const-string/jumbo v5, "settings_id=?"
16429 + new-array v6, v6, [Ljava/lang/String;
16433 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16435 + move-result-object v8
16437 + aput-object v8, v6, v7
16439 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16441 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16443 + move-result-object v11
16445 + if-eqz v11, :cond_4af
16447 + new-instance v12, Landroid/content/ContentValues;
16449 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16454 + array-length v4, v11
16456 + if-ge v15, v4, :cond_4af
16458 + const-string/jumbo v4, "settings_id"
16460 + move-object/from16 v0, v16
16462 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16464 + const-string v4, "contact_id"
16466 + aget v5, v11, v15
16468 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16470 + move-result-object v5
16472 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16474 + const-string v4, "allowed_contacts"
16478 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16480 + move-result-wide v4
16482 + const-wide/16 v6, -0x1
16484 + cmp-long v4, v4, v6
16486 + if-nez v4, :cond_38a
16488 + new-instance v4, Ljava/lang/Exception;
16490 + const-string v5, "PrivacyPersistenceAdapter:saveSettings: failed to update database entry (contacts)"
16492 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16497 + add-int/lit8 v15, v15, 0x1
16502 + const-string/jumbo v4, "settings"
16506 + new-array v5, v5, [Ljava/lang/String;
16510 + const-string v7, "_id"
16512 + aput-object v7, v5, v6
16514 + const-string/jumbo v6, "packageName=?"
16518 + new-array v7, v7, [Ljava/lang/String;
16522 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16524 + move-result-object v9
16526 + aput-object v9, v7, v8
16534 + 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;
16536 + move-result-object v13
16538 + if-eqz v13, :cond_4a7
16540 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
16546 + if-ne v4, v5, :cond_433
16548 + const-string/jumbo v4, "settings"
16550 + const-string/jumbo v5, "packageName=?"
16554 + new-array v6, v6, [Ljava/lang/String;
16558 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16560 + move-result-object v8
16562 + aput-object v8, v6, v7
16564 + move-object/from16 v0, v22
16566 + 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
16572 + if-ge v4, v5, :cond_3d7
16574 + new-instance v4, Ljava/lang/Exception;
16576 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16578 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16583 + invoke-interface {v13}, Landroid/database/Cursor;->moveToFirst()Z
16587 + if-eqz v4, :cond_4af
16591 + invoke-interface {v13, v4}, Landroid/database/Cursor;->getInt(I)I
16595 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16597 + move-result-object v17
16599 + const-string v4, "allowed_contacts"
16601 + const-string/jumbo v5, "settings_id=?"
16605 + new-array v6, v6, [Ljava/lang/String;
16609 + invoke-virtual/range {v17 .. v17}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16611 + move-result-object v8
16613 + aput-object v8, v6, v7
16615 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16617 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16619 + move-result-object v11
16621 + if-eqz v11, :cond_4af
16623 + new-instance v12, Landroid/content/ContentValues;
16625 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16630 + array-length v4, v11
16632 + if-ge v15, v4, :cond_4af
16634 + const-string/jumbo v4, "settings_id"
16636 + move-object/from16 v0, v17
16638 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16640 + const-string v4, "contact_id"
16642 + aget v5, v11, v15
16644 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16646 + move-result-object v5
16648 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16650 + const-string v4, "allowed_contacts"
16654 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16656 + move-result-wide v4
16658 + const-wide/16 v6, -0x1
16660 + cmp-long v4, v4, v6
16662 + if-nez v4, :cond_430
16664 + new-instance v4, Ljava/lang/Exception;
16666 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
16668 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16673 + add-int/lit8 v15, v15, 0x1
16678 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
16682 + if-nez v4, :cond_49f
16684 + const-string/jumbo v4, "settings"
16688 + move-object/from16 v0, v22
16690 + invoke-virtual {v3, v4, v5, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16692 + move-result-wide v20
16694 + const-wide/16 v4, -0x1
16696 + cmp-long v4, v20, v4
16698 + if-nez v4, :cond_451
16700 + new-instance v4, Ljava/lang/Exception;
16702 + const-string v5, "PrivacyPersistenceAdapter:saveSettings - failed to insert new record into DB"
16704 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16709 + const-string v4, "allowed_contacts"
16711 + const-string/jumbo v5, "settings_id=?"
16715 + new-array v6, v6, [Ljava/lang/String;
16719 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
16721 + move-result-object v8
16723 + aput-object v8, v6, v7
16725 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16727 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16729 + move-result-object v11
16731 + if-eqz v11, :cond_4af
16733 + new-instance v12, Landroid/content/ContentValues;
16735 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16740 + array-length v4, v11
16742 + if-ge v15, v4, :cond_4af
16744 + const-string/jumbo v4, "settings_id"
16746 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16748 + move-result-object v5
16750 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
16752 + const-string v4, "contact_id"
16754 + aget v5, v11, v15
16756 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16758 + move-result-object v5
16760 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16762 + const-string v4, "allowed_contacts"
16766 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16768 + move-result-wide v4
16770 + const-wide/16 v6, -0x1
16772 + cmp-long v4, v4, v6
16774 + if-nez v4, :cond_49c
16776 + new-instance v4, Ljava/lang/Exception;
16778 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to update database entry (contacts)"
16780 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16785 + add-int/lit8 v15, v15, 0x1
16790 + new-instance v4, Ljava/lang/Exception;
16792 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:duplicate entries in the privacy.db"
16794 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16799 + new-instance v4, Ljava/lang/Exception;
16801 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:cursor is null, database access failed"
16803 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16808 + const-string/jumbo v4, "systemLogsSetting"
16810 + move-object/from16 v0, p0
16812 + move-object/from16 v1, v18
16814 + move-object/from16 v2, p1
16816 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
16820 + if-nez v4, :cond_4c6
16822 + new-instance v4, Ljava/lang/Exception;
16824 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write systemLogsSettings file"
16826 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16831 + const-string v4, "ipTableProtectSetting"
16833 + move-object/from16 v0, p0
16835 + move-object/from16 v1, v18
16837 + move-object/from16 v2, p1
16839 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
16843 + if-nez v4, :cond_4dc
16845 + new-instance v4, Ljava/lang/Exception;
16847 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write ipTableProtectSetting file"
16849 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16854 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
16856 + .catchall {:try_start_341 .. :try_end_4df} :catchall_2fc
16859 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16861 + if-eqz v13, :cond_4e7
16863 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16865 + .catchall {:try_start_4df .. :try_end_4e7} :catchall_306
16869 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16871 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16873 + move-result-object v4
16875 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
16877 + .catchall {:try_start_4e7 .. :try_end_4f0} :catchall_33c
16878 + .catch Ljava/lang/Exception; {:try_start_4e7 .. :try_end_4f0} :catch_311
16880 + const/16 v19, 0x1
16883 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16885 + goto/16 :goto_335
16888 +.method public setValue(Ljava/lang/String;Ljava/lang/String;)Z
16893 + const-string v4, "PrivacyPersistenceAdapter"
16895 + new-instance v5, Ljava/lang/StringBuilder;
16897 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16899 + const-string/jumbo v6, "setValue - name "
16901 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16903 + move-result-object v5
16905 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16907 + move-result-object v5
16909 + const-string v6, " value "
16911 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16913 + move-result-object v5
16915 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16917 + move-result-object v5
16919 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16921 + move-result-object v5
16923 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16925 + new-instance v2, Landroid/content/ContentValues;
16927 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
16929 + const-string/jumbo v4, "name"
16931 + invoke-virtual {v2, v4, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16933 + const-string/jumbo v4, "value"
16935 + invoke-virtual {v2, v4, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16940 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16944 + .catchall {:try_start_36 .. :try_end_39} :catchall_75
16947 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16949 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16951 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
16955 + add-int/lit8 v5, v5, 0x1
16957 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16959 + move-result-object v5
16961 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16965 + .catchall {:try_start_39 .. :try_end_4a} :catchall_72
16968 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16970 + move-result-object v0
16972 + if-eqz v0, :cond_56
16974 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16978 + if-nez v4, :cond_7a
16981 + const-string v4, "PrivacyPersistenceAdapter"
16983 + new-instance v5, Ljava/lang/StringBuilder;
16985 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16987 + const-string v6, "PrivacyPersistenceAdapter:setValue: Database not obtained while setting value for name: "
16989 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16991 + move-result-object v5
16993 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16995 + move-result-object v5
16997 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16999 + move-result-object v5
17001 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17003 + .catchall {:try_start_4a .. :try_end_6e} :catchall_75
17005 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17011 + move-exception v3
17016 + .catchall {:try_start_73 .. :try_end_74} :catchall_72
17021 + .catchall {:try_start_74 .. :try_end_75} :catchall_75
17024 + move-exception v3
17026 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17032 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17034 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17036 + move-result-object v4
17038 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
17040 + .catchall {:try_start_7a .. :try_end_83} :catchall_75
17043 + const-string/jumbo v4, "map"
17047 + invoke-virtual {v0, v4, v5, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
17049 + .catchall {:try_start_83 .. :try_end_8a} :catchall_a2
17051 + move-result-wide v4
17053 + const-wide/16 v6, -0x1
17055 + cmp-long v4, v4, v6
17057 + if-eqz v4, :cond_a0
17063 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17065 + invoke-interface {v3}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17067 + move-result-object v3
17069 + invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
17071 + .catchall {:try_start_92 .. :try_end_9b} :catchall_75
17073 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
17085 + move-exception v3
17088 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
17090 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
17092 + move-result-object v4
17094 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
17098 + .catchall {:try_start_a3 .. :try_end_ad} :catchall_75
17100 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali opd-framework/smali/android/privacy/PrivacySettings$1.smali
17101 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
17102 +++ opd-framework/smali/android/privacy/PrivacySettings$1.smali 2013-01-09 02:52:41.635525471 -0600
17104 +.class final Landroid/privacy/PrivacySettings$1;
17105 +.super Ljava/lang/Object;
17106 +.source "PrivacySettings.java"
17109 +.implements Landroid/os/Parcelable$Creator;
17113 +.annotation system Ldalvik/annotation/EnclosingClass;
17114 + value = Landroid/privacy/PrivacySettings;
17117 +.annotation system Ldalvik/annotation/InnerClass;
17118 + accessFlags = 0x8
17122 +.annotation system Ldalvik/annotation/Signature;
17124 + "Ljava/lang/Object;",
17125 + "Landroid/os/Parcelable$Creator",
17127 + "Landroid/privacy/PrivacySettings;",
17134 +.method constructor <init>()V
17137 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17144 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
17147 + new-instance v0, Landroid/privacy/PrivacySettings;
17149 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
17154 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
17157 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
17159 + move-result-object v0
17164 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
17167 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
17172 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
17175 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
17177 + move-result-object v0
17181 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali opd-framework/smali/android/privacy/PrivacySettingsManagerService.smali
17182 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
17183 +++ opd-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2013-01-09 02:52:41.643525511 -0600
17185 +.class public final Landroid/privacy/PrivacySettingsManagerService;
17186 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
17187 +.source "PrivacySettingsManagerService.java"
17191 +.field private static final READ_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.READ_PRIVACY_SETTINGS"
17193 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
17195 +.field private static final VERSION:D = 1.51
17197 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
17199 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
17203 +.field private bootCompleted:Z
17205 +.field private context:Landroid/content/Context;
17207 +.field private enabled:Z
17209 +.field private notificationsEnabled:Z
17211 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17215 +.method public constructor <init>(Landroid/content/Context;)V
17218 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
17220 + const-string v0, "PrivacySettingsManagerService"
17222 + new-instance v1, Ljava/lang/StringBuilder;
17224 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17226 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
17228 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17230 + move-result-object v1
17232 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17234 + move-result-object v2
17236 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17238 + move-result-object v1
17240 + const-string v2, " UID: "
17242 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17244 + move-result-object v1
17246 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17250 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17252 + move-result-object v1
17254 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17256 + move-result-object v1
17258 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17260 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17262 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
17264 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
17266 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17268 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17270 + const-string v1, "/data/system/privacy"
17272 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17274 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17276 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17278 + const-string v1, "enabled"
17280 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17282 + move-result-object v0
17284 + const-string v1, "1"
17286 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17290 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17292 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17294 + const-string/jumbo v1, "notifications_enabled"
17296 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17298 + move-result-object v0
17300 + const-string v1, "1"
17302 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17306 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17310 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17315 +.method private checkCallerCanReadOrThrow()V
17318 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17322 + const/16 v1, 0x3e8
17324 + if-ne v0, v1, :cond_9
17330 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17332 + const-string v1, "android.privacy.READ_PRIVACY_SETTINGS"
17334 + const-string v2, "Requires READ_PRIVACY_SETTINGS"
17336 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17341 +.method private checkCallerCanReadSettings()Z
17345 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanReadOrThrow()V
17347 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17355 + move-exception v0
17362 +.method private checkCallerCanWriteOrThrow()V
17364 + .annotation system Ldalvik/annotation/Throws;
17366 + Landroid/os/RemoteException;
17370 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17372 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
17374 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
17376 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17381 +.method private checkCallerCanWriteSettings()Z
17383 + .annotation system Ldalvik/annotation/Throws;
17385 + Landroid/os/RemoteException;
17390 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17392 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17400 + move-exception v0
17409 +.method public addObserver(Ljava/lang/String;)V
17411 + .annotation system Ldalvik/annotation/Throws;
17413 + Landroid/os/RemoteException;
17417 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17419 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17421 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17426 +.method public deleteSettings(Ljava/lang/String;)Z
17428 + .annotation system Ldalvik/annotation/Throws;
17430 + Landroid/os/RemoteException;
17436 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17440 + const/16 v3, 0x3e8
17442 + if-eq v2, v3, :cond_c
17444 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17447 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17449 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
17453 + new-instance v2, Ljava/lang/StringBuilder;
17455 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17457 + const-string v3, "/data/system/privacy/"
17459 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17461 + move-result-object v2
17463 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17465 + move-result-object v2
17467 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17469 + move-result-object v0
17471 + new-instance v2, Ljava/io/File;
17473 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
17475 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
17479 + if-eqz v2, :cond_38
17481 + if-ne v1, v4, :cond_38
17483 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17485 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17492 + if-ne v1, v4, :cond_37
17494 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17496 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
17498 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
17503 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17506 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17508 + if-nez v0, :cond_2e
17510 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17512 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17514 + move-result-object v0
17516 + const-string v1, "com.privacy.pdroid"
17518 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17522 + if-nez v0, :cond_2e
17524 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17526 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17528 + move-result-object v0
17530 + const-string v1, "com.privacy.pdroid.Addon"
17532 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17536 + if-nez v0, :cond_2e
17538 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17540 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17542 + move-result-object v0
17544 + const-string v1, "com.android.privacy.pdroid.extension"
17546 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17550 + if-eqz v0, :cond_35
17553 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17555 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17557 + move-result-object v0
17568 +.method public getVersion()D
17571 + const-wide v0, 0x3ff828f5c28f5c29L
17576 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17579 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17581 + if-eqz v1, :cond_34
17583 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17585 + if-eqz v1, :cond_34
17587 + new-instance v0, Landroid/content/Intent;
17589 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
17591 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
17593 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
17595 + const-string/jumbo v1, "packageName"
17597 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17599 + const-string/jumbo v1, "uid"
17603 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
17605 + const-string v1, "accessMode"
17607 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
17609 + const-string v1, "dataType"
17611 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17613 + const-string/jumbo v1, "output"
17615 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17617 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17619 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
17625 +.method public purgeSettings()Z
17628 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17630 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
17637 +.method public registerObservers()V
17639 + .annotation system Ldalvik/annotation/Throws;
17641 + Landroid/os/RemoteException;
17645 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17647 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17649 + const-string v1, "/data/system/privacy"
17651 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17653 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17658 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
17660 + .annotation system Ldalvik/annotation/Throws;
17662 + Landroid/os/RemoteException;
17666 + const-string v1, "PrivacySettingsManagerService"
17668 + new-instance v2, Ljava/lang/StringBuilder;
17670 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17672 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
17674 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17676 + move-result-object v2
17678 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17682 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17684 + move-result-object v2
17686 + const-string v3, ") has sufficient permissions"
17688 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17690 + move-result-object v2
17692 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17694 + move-result-object v2
17696 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17698 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17702 + const/16 v2, 0x3e8
17704 + if-eq v1, v2, :cond_2e
17706 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17709 + const-string v1, "PrivacySettingsManagerService"
17711 + new-instance v2, Ljava/lang/StringBuilder;
17713 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17715 + const-string/jumbo v3, "saveSettings - "
17717 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17719 + move-result-object v2
17721 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17723 + move-result-object v2
17725 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17727 + move-result-object v2
17729 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17731 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17733 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
17739 + if-ne v0, v1, :cond_59
17741 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17743 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
17745 + move-result-object v2
17747 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17753 +.method public setBootCompleted()V
17758 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17763 +.method public setEnabled(Z)Z
17765 + .annotation system Ldalvik/annotation/Throws;
17767 + Landroid/os/RemoteException;
17773 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17775 + if-eqz p1, :cond_15
17777 + const-string v0, "1"
17780 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17782 + const-string v3, "enabled"
17784 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
17788 + if-eqz v2, :cond_18
17790 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17796 + const-string v0, "0"
17806 +.method public setNotificationsEnabled(Z)Z
17808 + .annotation system Ldalvik/annotation/Throws;
17810 + Landroid/os/RemoteException;
17816 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17818 + if-eqz p1, :cond_18
17820 + const-string v0, "1"
17823 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17825 + const-string/jumbo v3, "notifications_enabled"
17827 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
17831 + if-eqz v2, :cond_1b
17833 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17835 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17841 + const-string v0, "0"
17850 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali opd-framework/smali/android/privacy/PrivacySettingsManager.smali
17851 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
17852 +++ opd-framework/smali/android/privacy/PrivacySettingsManager.smali 2013-01-09 02:52:41.643525511 -0600
17854 +.class public final Landroid/privacy/PrivacySettingsManager;
17855 +.super Ljava/lang/Object;
17856 +.source "PrivacySettingsManager.java"
17860 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
17862 +.field public static final ACTION_PRIVACY_NOTIFICATION_ADDON:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION_ADDON"
17864 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
17868 +.field private service:Landroid/privacy/IPrivacySettingsManager;
17872 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
17875 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17877 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17884 +.method public addObserver(Ljava/lang/String;)V
17888 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17890 + if-eqz v1, :cond_a
17892 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17894 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
17900 + const-string v1, "PrivacySettingsManager"
17902 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
17904 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17906 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
17911 + move-exception v0
17913 + const-string v1, "PrivacySettingsManager"
17915 + const-string v2, "RemoteException in addObserver: "
17917 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17922 +.method public deleteSettings(Ljava/lang/String;)Z
17928 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17930 + if-eqz v2, :cond_c
17932 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17934 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
17942 + const-string v2, "PrivacySettingsManager"
17944 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
17946 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17948 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
17953 + move-exception v0
17955 + const-string v2, "PrivacySettingsManager"
17957 + const-string v3, "RemoteException in deleteSettings: "
17959 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17964 +.method public deleteSettings(Ljava/lang/String;I)Z
17966 + .annotation runtime Ljava/lang/Deprecated;
17969 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
17976 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17982 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17984 + if-eqz v2, :cond_c
17986 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17988 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17990 + move-result-object v1
17996 + const-string v2, "PrivacySettingsManager"
17998 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
18000 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18002 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
18007 + move-exception v0
18009 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
18014 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
18016 + .annotation runtime Ljava/lang/Deprecated;
18019 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
18021 + move-result-object v0
18026 +.method public getVersion()D
18030 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18032 + if-eqz v1, :cond_b
18034 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18036 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
18038 + move-result-wide v1
18044 + const-string v1, "PrivacySettingsManager"
18046 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
18048 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18050 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
18053 + const-wide/16 v1, 0x0
18058 + move-exception v0
18060 + const-string v1, "PrivacySettingsManager"
18062 + const-string v2, "RemoteException in getVersion: "
18064 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18069 +.method public isServiceAvailable()Z
18072 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18074 + if-eqz v0, :cond_6
18087 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18091 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18093 + if-eqz v1, :cond_a
18095 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18097 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18103 + const-string v1, "PrivacySettingsManager"
18105 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
18107 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18109 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18114 + move-exception v0
18116 + const-string v1, "PrivacySettingsManager"
18118 + const-string v2, "RemoteException in notification: "
18120 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18125 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18127 + .annotation runtime Ljava/lang/Deprecated;
18130 + invoke-virtual {p0, p1, p2, p3, p4}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18135 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
18137 + .annotation runtime Ljava/lang/Deprecated;
18140 + invoke-virtual {p0, p1, p3, p4, p5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18145 +.method public purgeSettings()Z
18149 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18151 + if-eqz v1, :cond_b
18153 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18155 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
18163 + const-string v1, "PrivacySettingsManager"
18165 + const-string/jumbo v2, "purgeSettings - PrivacySettingsManagerService is null"
18167 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18169 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18177 + move-exception v0
18179 + const-string v1, "PrivacySettingsManager"
18181 + const-string v2, "RemoteException in purgeSettings: "
18183 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18188 +.method public registerObservers()V
18192 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18194 + if-eqz v1, :cond_a
18196 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18198 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
18204 + const-string v1, "PrivacySettingsManager"
18206 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
18208 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18210 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18215 + move-exception v0
18217 + const-string v1, "PrivacySettingsManager"
18219 + const-string v2, "RemoteException in registerObservers: "
18221 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18226 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
18232 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18234 + if-eqz v2, :cond_c
18236 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18238 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
18246 + const-string v2, "PrivacySettingsManager"
18248 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
18250 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18252 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
18257 + move-exception v0
18259 + const-string v2, "PrivacySettingsManager"
18261 + const-string v3, "RemoteException in saveSettings: "
18263 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18268 +.method public setBootCompleted()V
18272 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18274 + if-eqz v1, :cond_a
18276 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18278 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
18284 + const-string v1, "PrivacySettingsManager"
18286 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
18288 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18290 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
18295 + move-exception v0
18297 + const-string v1, "PrivacySettingsManager"
18299 + const-string v2, "RemoteException in setBootCompleted: "
18301 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18306 +.method public setEnabled(Z)Z
18310 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18312 + if-eqz v1, :cond_b
18314 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18316 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
18324 + const-string v1, "PrivacySettingsManager"
18326 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
18328 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18330 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18338 + move-exception v0
18340 + const-string v1, "PrivacySettingsManager"
18342 + const-string v2, "RemoteException in setEnabled: "
18344 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18349 +.method public setNotificationsEnabled(Z)Z
18353 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18355 + if-eqz v1, :cond_b
18357 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18359 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
18367 + const-string v1, "PrivacySettingsManager"
18369 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
18371 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18373 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18381 + move-exception v0
18383 + const-string v1, "PrivacySettingsManager"
18385 + const-string v2, "RemoteException in setNotificationsEnabled: "
18387 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18391 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali opd-framework/smali/android/privacy/PrivacySettings.smali
18392 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
18393 +++ opd-framework/smali/android/privacy/PrivacySettings.smali 2013-01-09 02:52:41.639525495 -0600
18395 +.class public final Landroid/privacy/PrivacySettings;
18396 +.super Ljava/lang/Object;
18397 +.source "PrivacySettings.java"
18400 +.implements Landroid/os/Parcelable;
18404 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
18405 + .annotation system Ldalvik/annotation/Signature;
18407 + "Landroid/os/Parcelable$Creator",
18409 + "Landroid/privacy/PrivacySettings;",
18415 +.field public static final CUSTOM:B = 0x2t
18417 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
18419 +.field public static final DATA_ANDROID_ID:Ljava/lang/String; = "android_id"
18421 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
18423 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
18425 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
18427 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
18429 +.field public static final DATA_CAMERA:Ljava/lang/String; = "camera"
18431 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
18433 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
18435 +.field public static final DATA_ICC_ACCESS:Ljava/lang/String; = "iccAccess"
18437 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
18439 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
18441 +.field public static final DATA_IP_TABLES:Ljava/lang/String; = "iptables"
18443 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
18445 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
18447 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
18449 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
18451 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
18453 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
18455 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
18457 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
18459 +.field public static final DATA_PHONE_CALL:Ljava/lang/String; = "phoneCall"
18461 +.field public static final DATA_RECORD_AUDIO:Ljava/lang/String; = "recordAudio"
18463 +.field public static final DATA_SEND_MMS:Ljava/lang/String; = "sendMms"
18465 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
18467 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
18469 +.field public static final DATA_SMS_SEND:Ljava/lang/String; = "SmsSend"
18471 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
18473 +.field public static final DATA_SWITCH_CONNECTIVITY:Ljava/lang/String; = "switchconnectivity"
18475 +.field public static final DATA_SWITCH_WIFI_STATE:Ljava/lang/String; = "switchWifiState"
18477 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
18479 +.field public static final DATA_WIFI_INFO:Ljava/lang/String; = "wifiInfo"
18481 +.field public static final EMPTY:B = 0x1t
18483 +.field public static final ID_PATTERN:[Ljava/lang/String; = null
18485 +.field public static final RANDOM:B = 0x3t
18487 +.field public static final REAL:B = 0x0t
18489 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
18491 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
18495 +.field private final _id:Ljava/lang/Integer;
18497 +.field private accountsAuthTokensSetting:B
18499 +.field private accountsSetting:B
18501 +.field private addOnManagementSetting:B
18503 +.field private allowedContacts:[I
18505 +.field private androidID:Ljava/lang/String;
18507 +.field private androidIdSetting:B
18509 +.field private bookmarksSetting:B
18511 +.field private calendarSetting:B
18513 +.field private callLogSetting:B
18515 +.field private cameraSetting:B
18517 +.field private contactsSetting:B
18519 +.field private deviceId:Ljava/lang/String;
18521 +.field private deviceIdSetting:B
18523 +.field private forceOnlineState:B
18525 +.field private iccAccessSetting:B
18527 +.field private incomingCallsSetting:B
18529 +.field private intentBootCompletedSetting:B
18531 +.field private ipTableProtectSetting:B
18533 +.field private line1Number:Ljava/lang/String;
18535 +.field private line1NumberSetting:B
18537 +.field private locationGpsLat:Ljava/lang/String;
18539 +.field private locationGpsLon:Ljava/lang/String;
18541 +.field private locationGpsSetting:B
18543 +.field private locationNetworkLat:Ljava/lang/String;
18545 +.field private locationNetworkLon:Ljava/lang/String;
18547 +.field private locationNetworkSetting:B
18549 +.field private mmsSetting:B
18551 +.field private networkInfoSetting:B
18553 +.field private notificationSetting:B
18555 +.field private outgoingCallsSetting:B
18557 +.field private packageName:Ljava/lang/String;
18559 +.field private phoneCallSetting:B
18561 +.field private recordAudioSetting:B
18563 +.field private sendMmsSetting:B
18565 +.field private simInfoSetting:B
18567 +.field private simSerialNumber:Ljava/lang/String;
18569 +.field private simSerialNumberSetting:B
18571 +.field private smsSendSetting:B
18573 +.field private smsSetting:B
18575 +.field private subscriberId:Ljava/lang/String;
18577 +.field private subscriberIdSetting:B
18579 +.field private switchConnectivitySetting:B
18581 +.field private switchWifiStateSetting:B
18583 +.field private systemLogsSetting:B
18585 +.field private uid:I
18587 +.field private wifiInfoSetting:B
18591 +.method static constructor <clinit>()V
18594 + const/16 v0, 0x10
18596 + new-array v0, v0, [Ljava/lang/String;
18600 + const-string v2, "0"
18602 + aput-object v2, v0, v1
18606 + const-string v2, "1"
18608 + aput-object v2, v0, v1
18612 + const-string v2, "2"
18614 + aput-object v2, v0, v1
18618 + const-string v2, "3"
18620 + aput-object v2, v0, v1
18624 + const-string v2, "4"
18626 + aput-object v2, v0, v1
18630 + const-string v2, "5"
18632 + aput-object v2, v0, v1
18636 + const-string v2, "6"
18638 + aput-object v2, v0, v1
18642 + const-string v2, "7"
18644 + aput-object v2, v0, v1
18648 + const-string v2, "8"
18650 + aput-object v2, v0, v1
18654 + const-string v2, "9"
18656 + aput-object v2, v0, v1
18660 + const-string v2, "a"
18662 + aput-object v2, v0, v1
18666 + const-string v2, "b"
18668 + aput-object v2, v0, v1
18672 + const-string v2, "c"
18674 + aput-object v2, v0, v1
18678 + const-string v2, "d"
18680 + aput-object v2, v0, v1
18684 + const-string v2, "e"
18686 + aput-object v2, v0, v1
18690 + const-string v2, "f"
18692 + aput-object v2, v0, v1
18694 + sput-object v0, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
18696 + new-instance v0, Landroid/privacy/PrivacySettings$1;
18698 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
18700 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
18705 +.method public constructor <init>(Landroid/os/Parcel;)V
18708 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18710 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
18716 + if-ne v0, v1, :cond_122
18721 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18723 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18725 + move-result-object v1
18727 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18729 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
18733 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
18735 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18739 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18741 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18743 + move-result-object v1
18745 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18747 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18751 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18753 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18755 + move-result-object v1
18757 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18759 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18763 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18765 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18767 + move-result-object v1
18769 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18771 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18773 + move-result-object v1
18775 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18777 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18781 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18783 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18785 + move-result-object v1
18787 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18789 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18791 + move-result-object v1
18793 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18795 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18799 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18801 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18805 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18807 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18811 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18813 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18815 + move-result-object v1
18817 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18819 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18823 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18825 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18827 + move-result-object v1
18829 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18831 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18835 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18837 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18841 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18843 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18847 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18849 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18853 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18855 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18859 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18861 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18865 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18867 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18871 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18873 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18877 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18879 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18883 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18885 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18889 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18891 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18895 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18897 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18901 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18903 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18907 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
18909 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18913 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
18915 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18919 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18921 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
18923 + move-result-object v1
18925 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
18927 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18931 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18933 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18937 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18939 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18943 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
18945 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18949 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
18951 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18955 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
18957 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18961 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
18963 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18965 + move-result-object v1
18967 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
18969 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18973 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18975 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18979 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18981 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18985 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18987 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18991 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
18993 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18997 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19002 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
19004 + move-result-object v1
19009 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
19018 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
19020 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19022 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19024 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19026 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19028 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19030 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19032 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19034 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19036 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19038 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19040 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19042 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19044 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19046 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19048 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19050 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19052 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19054 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19056 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19058 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19060 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19062 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19064 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19066 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19068 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19070 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19072 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19074 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19076 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19078 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19080 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19082 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19084 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19086 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19088 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19090 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19092 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19094 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19096 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19098 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19100 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19102 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19104 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19106 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19108 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19110 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19112 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19117 +.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
19120 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
19122 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19124 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19126 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19128 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19130 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19132 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19134 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19136 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19138 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19140 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19142 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19144 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19146 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19148 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19150 + move/from16 v0, p15
19152 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19154 + move/from16 v0, p16
19156 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19158 + move-object/from16 v0, p17
19160 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19162 + move/from16 v0, p18
19164 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19166 + move-object/from16 v0, p19
19168 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19170 + move/from16 v0, p20
19172 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19174 + move/from16 v0, p21
19176 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19178 + move/from16 v0, p22
19180 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19182 + move/from16 v0, p23
19184 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19186 + move/from16 v0, p24
19188 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19190 + move/from16 v0, p25
19192 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19194 + move/from16 v0, p26
19196 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19198 + move/from16 v0, p27
19200 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19202 + move/from16 v0, p28
19204 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19206 + move/from16 v0, p29
19208 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19210 + move/from16 v0, p30
19212 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19214 + move/from16 v0, p34
19216 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19218 + move/from16 v0, p35
19220 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19222 + move/from16 v0, p32
19224 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19226 + move/from16 v0, p33
19228 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19230 + move-object/from16 v0, p36
19232 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19234 + move/from16 v0, p37
19236 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19238 + move/from16 v0, p38
19240 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19242 + move/from16 v0, p39
19244 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19246 + move/from16 v0, p40
19248 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19250 + move/from16 v0, p41
19252 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19254 + move/from16 v0, p42
19256 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19258 + move-object/from16 v0, p43
19260 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19262 + move/from16 v0, p44
19264 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19266 + move/from16 v0, p45
19268 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19270 + move/from16 v0, p46
19272 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19274 + move/from16 v0, p47
19276 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19278 + move/from16 v0, p48
19280 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19285 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IZ)V
19296 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
19298 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19300 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19302 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19304 + if-eqz p4, :cond_68
19306 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19308 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19310 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19312 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19314 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19316 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19318 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19320 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19322 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19324 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19326 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19328 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19330 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19332 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19334 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19336 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19338 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19340 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19342 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19344 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19346 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19348 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19350 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19352 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19354 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19356 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19358 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19360 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19362 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19364 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19366 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19368 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19370 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19372 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19374 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19376 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19378 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19380 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19382 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19384 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19386 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19388 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19390 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19392 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19398 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19400 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19402 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19404 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19406 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19408 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19410 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19412 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19414 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19416 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19418 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19420 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19422 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19424 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19426 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19428 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19430 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19432 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19434 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19436 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19438 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19440 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19442 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19444 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19446 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19448 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19450 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19452 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19454 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19456 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19458 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19460 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19462 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19464 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19466 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19468 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19470 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19472 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19474 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19476 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19478 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19480 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19482 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19484 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19489 +.method private getRandomLat()Ljava/lang/String;
19492 + const-wide v7, 0x4056800000000000L
19494 + invoke-static {}, Ljava/lang/Math;->random()D
19496 + move-result-wide v3
19498 + const-wide v5, 0x4066800000000000L
19500 + mul-double v0, v3, v5
19502 + cmpl-double v3, v0, v7
19504 + if-lez v3, :cond_35
19506 + new-instance v2, Ljava/math/BigDecimal;
19508 + sub-double v3, v0, v7
19510 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19513 + new-instance v3, Ljava/lang/StringBuilder;
19515 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19521 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
19523 + move-result-object v4
19525 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19527 + move-result-object v3
19529 + const-string v4, ""
19531 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19533 + move-result-object v3
19535 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19537 + move-result-object v3
19542 + new-instance v2, Ljava/math/BigDecimal;
19544 + neg-double v3, v0
19546 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19551 +.method private getRandomLon()Ljava/lang/String;
19554 + const-wide v7, 0x4066800000000000L
19556 + invoke-static {}, Ljava/lang/Math;->random()D
19558 + move-result-wide v3
19560 + const-wide v5, 0x4076800000000000L
19562 + mul-double v0, v3, v5
19564 + cmpl-double v3, v0, v7
19566 + if-lez v3, :cond_35
19568 + new-instance v2, Ljava/math/BigDecimal;
19570 + sub-double v3, v0, v7
19572 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19575 + new-instance v3, Ljava/lang/StringBuilder;
19577 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19583 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
19585 + move-result-object v4
19587 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19589 + move-result-object v3
19591 + const-string v4, ""
19593 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19595 + move-result-object v3
19597 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19599 + move-result-object v3
19604 + new-instance v2, Ljava/math/BigDecimal;
19606 + neg-double v3, v0
19608 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19615 +.method public describeContents()I
19623 +.method public getAccountsAuthTokensSetting()B
19626 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19631 +.method public getAccountsSetting()B
19634 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19639 +.method public getAddOnManagementSetting()B
19642 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19647 +.method public getAllowedContacts()[I
19650 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19655 +.method public getAndroidID()Ljava/lang/String;
19658 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19662 + if-ne v3, v4, :cond_9
19664 + const-string/jumbo v3, "q4a5w896ay21dr46"
19670 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19674 + if-ne v3, v4, :cond_36
19676 + new-instance v2, Ljava/util/Random;
19678 + invoke-direct {v2}, Ljava/util/Random;-><init>()V
19680 + new-instance v1, Ljava/lang/StringBuilder;
19682 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
19687 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19689 + array-length v3, v3
19691 + if-ge v0, v3, :cond_31
19693 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19695 + sget-object v4, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19697 + array-length v4, v4
19699 + add-int/lit8 v4, v4, -0x1
19701 + invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
19705 + aget-object v3, v3, v4
19707 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19709 + add-int/lit8 v0, v0, 0x1
19714 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19716 + move-result-object v3
19721 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19726 +.method public getAndroidIdSetting()B
19729 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19734 +.method public getBookmarksSetting()B
19737 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19742 +.method public getCalendarSetting()B
19745 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19750 +.method public getCallLogSetting()B
19753 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19758 +.method public getCameraSetting()B
19761 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19766 +.method public getContactsSetting()B
19769 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19774 +.method public getDeviceId()Ljava/lang/String;
19781 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19785 + if-ne v3, v4, :cond_b
19787 + const-string v3, ""
19793 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19797 + if-ne v3, v4, :cond_62
19799 + new-instance v1, Ljava/util/Random;
19801 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
19803 + new-instance v3, Ljava/lang/StringBuilder;
19805 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19807 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
19809 + move-result-wide v4
19811 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
19813 + move-result-wide v4
19815 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
19817 + move-result-object v3
19819 + const-string v4, ""
19821 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19823 + move-result-object v3
19825 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19827 + move-result-object v2
19829 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19833 + if-le v3, v6, :cond_3b
19835 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19837 + move-result-object v3
19842 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19847 + const/16 v3, 0x10
19849 + if-gt v0, v3, :cond_5d
19851 + new-instance v3, Ljava/lang/StringBuilder;
19853 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19855 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19857 + move-result-object v3
19861 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
19865 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19867 + move-result-object v3
19869 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19871 + move-result-object v2
19873 + add-int/lit8 v0, v0, 0x1
19878 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19880 + move-result-object v3
19885 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19890 +.method public getDeviceIdSetting()B
19893 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19898 +.method public getForceOnlineState()B
19901 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19906 +.method public getIccAccessSetting()B
19909 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19914 +.method public getIncomingCallsSetting()B
19917 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19922 +.method public getIntentBootCompletedSetting()B
19925 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19930 +.method public getIpTableProtectSetting()B
19933 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19938 +.method public getLine1Number()Ljava/lang/String;
19945 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19949 + if-ne v3, v4, :cond_b
19951 + const-string v3, ""
19957 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19961 + if-ne v3, v4, :cond_68
19963 + new-instance v1, Ljava/util/Random;
19965 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
19967 + new-instance v3, Ljava/lang/StringBuilder;
19969 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19971 + const-string v4, "+"
19973 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19975 + move-result-object v3
19977 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
19979 + move-result-wide v4
19981 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
19983 + move-result-wide v4
19985 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
19987 + move-result-object v3
19989 + const-string v4, ""
19991 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19993 + move-result-object v3
19995 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19997 + move-result-object v2
19999 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20003 + if-le v3, v6, :cond_41
20005 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20007 + move-result-object v3
20012 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20019 + if-gt v0, v3, :cond_63
20021 + new-instance v3, Ljava/lang/StringBuilder;
20023 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20025 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20027 + move-result-object v3
20031 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20035 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20037 + move-result-object v3
20039 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20041 + move-result-object v2
20043 + add-int/lit8 v0, v0, 0x1
20048 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20050 + move-result-object v3
20055 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20060 +.method public getLine1NumberSetting()B
20063 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20068 +.method public getLocationGpsLat()Ljava/lang/String;
20071 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20075 + if-ne v0, v1, :cond_8
20077 + const-string v0, ""
20083 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20087 + if-ne v0, v1, :cond_12
20089 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
20091 + move-result-object v0
20096 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20101 +.method public getLocationGpsLon()Ljava/lang/String;
20104 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20108 + if-ne v0, v1, :cond_8
20110 + const-string v0, ""
20116 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20120 + if-ne v0, v1, :cond_12
20122 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
20124 + move-result-object v0
20129 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20134 +.method public getLocationGpsSetting()B
20137 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20142 +.method public getLocationNetworkLat()Ljava/lang/String;
20145 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20149 + if-ne v0, v1, :cond_8
20151 + const-string v0, ""
20157 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20161 + if-ne v0, v1, :cond_12
20163 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
20165 + move-result-object v0
20170 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20175 +.method public getLocationNetworkLon()Ljava/lang/String;
20178 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20182 + if-ne v0, v1, :cond_8
20184 + const-string v0, ""
20190 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20194 + if-ne v0, v1, :cond_12
20196 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
20198 + move-result-object v0
20203 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20208 +.method public getLocationNetworkSetting()B
20211 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20216 +.method public getMmsSetting()B
20219 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20224 +.method public getNetworkInfoSetting()B
20227 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20232 +.method public getNotificationSetting()B
20235 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20240 +.method public getOutgoingCallsSetting()B
20243 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20248 +.method public getPackageName()Ljava/lang/String;
20251 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20256 +.method public getPhoneCallSetting()B
20259 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20264 +.method public getRecordAudioSetting()B
20267 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20272 +.method public getSendMmsSetting()B
20275 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20280 +.method public getSimInfoSetting()B
20283 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20288 +.method public getSimSerialNumber()Ljava/lang/String;
20291 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20295 + if-ne v1, v2, :cond_8
20297 + const-string v1, ""
20303 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20307 + if-ne v1, v2, :cond_2e
20309 + new-instance v0, Ljava/util/Random;
20311 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
20313 + new-instance v1, Ljava/lang/StringBuilder;
20315 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
20317 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
20319 + move-result-wide v2
20321 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
20323 + move-result-wide v2
20325 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20327 + move-result-object v1
20329 + const-string v2, ""
20331 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20333 + move-result-object v1
20335 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20337 + move-result-object v1
20342 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20347 +.method public getSimSerialNumberSetting()B
20350 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20355 +.method public getSmsSendSetting()B
20358 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20363 +.method public getSmsSetting()B
20366 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20371 +.method public getSubscriberId()Ljava/lang/String;
20378 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20382 + if-ne v3, v4, :cond_b
20384 + const-string v3, ""
20390 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20394 + if-ne v3, v4, :cond_62
20396 + new-instance v1, Ljava/util/Random;
20398 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
20400 + new-instance v3, Ljava/lang/StringBuilder;
20402 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20404 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
20406 + move-result-wide v4
20408 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
20410 + move-result-wide v4
20412 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20414 + move-result-object v3
20416 + const-string v4, ""
20418 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20420 + move-result-object v3
20422 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20424 + move-result-object v2
20426 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20430 + if-le v3, v6, :cond_3b
20432 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20434 + move-result-object v3
20439 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20444 + const/16 v3, 0x10
20446 + if-gt v0, v3, :cond_5d
20448 + new-instance v3, Ljava/lang/StringBuilder;
20450 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20452 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20454 + move-result-object v3
20458 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20462 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20464 + move-result-object v3
20466 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20468 + move-result-object v2
20470 + add-int/lit8 v0, v0, 0x1
20475 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20477 + move-result-object v3
20482 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20487 +.method public getSubscriberIdSetting()B
20490 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20495 +.method public getSwitchConnectivitySetting()B
20498 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
20503 +.method public getSwitchWifiStateSetting()B
20506 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
20511 +.method public getSystemLogsSetting()B
20514 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
20519 +.method public getUid()I
20522 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
20527 +.method public getWifiInfoSetting()B
20530 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
20535 +.method public get_id()Ljava/lang/Integer;
20538 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
20543 +.method public setAccountsAuthTokensSetting(B)V
20546 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20551 +.method public setAccountsSetting(B)V
20554 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20559 +.method public setAddOnManagementSetting(B)V
20562 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
20567 +.method public setAllowedContacts([I)V
20570 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
20575 +.method public setAndroidID(Ljava/lang/String;)V
20578 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
20583 +.method public setAndroidIdSetting(B)V
20586 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
20591 +.method public setBookmarksSetting(B)V
20594 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20599 +.method public setCalendarSetting(B)V
20602 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20607 +.method public setCallLogSetting(B)V
20610 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20615 +.method public setCameraSetting(B)V
20618 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
20623 +.method public setContactsSetting(B)V
20626 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20631 +.method public setDeviceId(Ljava/lang/String;)V
20634 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
20639 +.method public setDeviceIdSetting(B)V
20642 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20647 +.method public setForceOnlineState(B)V
20650 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
20655 +.method public setIccAccessSetting(B)V
20658 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
20663 +.method public setIncomingCallsSetting(B)V
20666 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
20671 +.method public setIntentBootCompletedSetting(B)V
20674 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
20679 +.method public setIpTableProtectSetting(B)V
20682 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
20687 +.method public setLine1Number(Ljava/lang/String;)V
20690 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20695 +.method public setLine1NumberSetting(B)V
20698 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20703 +.method public setLocationGpsLat(Ljava/lang/String;)V
20706 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20711 +.method public setLocationGpsLon(Ljava/lang/String;)V
20714 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20719 +.method public setLocationGpsSetting(B)V
20722 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20727 +.method public setLocationNetworkLat(Ljava/lang/String;)V
20730 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20735 +.method public setLocationNetworkLon(Ljava/lang/String;)V
20738 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20743 +.method public setLocationNetworkSetting(B)V
20746 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20751 +.method public setMmsSetting(B)V
20754 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20759 +.method public setNetworkInfoSetting(B)V
20762 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20767 +.method public setNotificationSetting(B)V
20770 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20775 +.method public setOutgoingCallsSetting(B)V
20778 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20783 +.method public setPackageName(Ljava/lang/String;)V
20786 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20791 +.method public setPhoneCallSetting(B)V
20794 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20799 +.method public setRecordAudioSetting(B)V
20802 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20807 +.method public setSendMmsSetting(B)V
20810 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20815 +.method public setSimInfoSetting(B)V
20818 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20823 +.method public setSimSerialNumber(Ljava/lang/String;)V
20826 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20831 +.method public setSimSerialNumberSetting(B)V
20834 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20839 +.method public setSmsSendSetting(B)V
20842 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20847 +.method public setSmsSetting(B)V
20850 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20855 +.method public setSubscriberId(Ljava/lang/String;)V
20858 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20863 +.method public setSubscriberIdSetting(B)V
20866 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20871 +.method public setSwitchConnectivitySetting(B)V
20874 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
20879 +.method public setSwitchWifiStateSetting(B)V
20882 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
20887 +.method public setSystemLogsSetting(B)V
20890 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
20895 +.method public setUid(I)V
20898 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
20903 +.method public setWifiInfoSetting(B)V
20906 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
20911 +.method public toString()Ljava/lang/String;
20914 + new-instance v0, Ljava/lang/StringBuilder;
20916 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
20918 + const-string v1, "PrivacySettings [_id="
20920 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20922 + move-result-object v0
20924 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
20926 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20928 + move-result-object v0
20930 + const-string v1, ", accountsAuthTokensSetting="
20932 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20934 + move-result-object v0
20936 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20938 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20940 + move-result-object v0
20942 + const-string v1, ", accountsSetting="
20944 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20946 + move-result-object v0
20948 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20950 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20952 + move-result-object v0
20954 + const-string v1, ", bookmarksSetting="
20956 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20958 + move-result-object v0
20960 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20962 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20964 + move-result-object v0
20966 + const-string v1, ", calendarSetting="
20968 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20970 + move-result-object v0
20972 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20974 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20976 + move-result-object v0
20978 + const-string v1, ", callLogSetting="
20980 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20982 + move-result-object v0
20984 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20986 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20988 + move-result-object v0
20990 + const-string v1, ", contactsSetting="
20992 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20994 + move-result-object v0
20996 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20998 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21000 + move-result-object v0
21002 + const-string v1, ", deviceId="
21004 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21006 + move-result-object v0
21008 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
21010 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21012 + move-result-object v0
21014 + const-string v1, ", deviceIdSetting="
21016 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21018 + move-result-object v0
21020 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
21022 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21024 + move-result-object v0
21026 + const-string v1, ", incomingCallsSetting="
21028 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21030 + move-result-object v0
21032 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
21034 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21036 + move-result-object v0
21038 + const-string v1, ", intentBootCompletedSetting="
21040 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21042 + move-result-object v0
21044 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
21046 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21048 + move-result-object v0
21050 + const-string v1, ", line1Number="
21052 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21054 + move-result-object v0
21056 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
21058 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21060 + move-result-object v0
21062 + const-string v1, ", line1NumberSetting="
21064 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21066 + move-result-object v0
21068 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
21070 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21072 + move-result-object v0
21074 + const-string v1, ", locationGpsLat="
21076 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21078 + move-result-object v0
21080 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
21082 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21084 + move-result-object v0
21086 + const-string v1, ", locationGpsLon="
21088 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21090 + move-result-object v0
21092 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
21094 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21096 + move-result-object v0
21098 + const-string v1, ", locationGpsSetting="
21100 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21102 + move-result-object v0
21104 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
21106 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21108 + move-result-object v0
21110 + const-string v1, ", locationNetworkLat="
21112 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21114 + move-result-object v0
21116 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
21118 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21120 + move-result-object v0
21122 + const-string v1, ", locationNetworkLon="
21124 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21126 + move-result-object v0
21128 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
21130 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21132 + move-result-object v0
21134 + const-string v1, ", locationNetworkSetting="
21136 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21138 + move-result-object v0
21140 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
21142 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21144 + move-result-object v0
21146 + const-string v1, ", mmsSetting="
21148 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21150 + move-result-object v0
21152 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21154 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21156 + move-result-object v0
21158 + const-string v1, ", networkInfoSetting="
21160 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21162 + move-result-object v0
21164 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
21166 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21168 + move-result-object v0
21170 + const-string v1, ", notificationSetting="
21172 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21174 + move-result-object v0
21176 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
21178 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21180 + move-result-object v0
21182 + const-string v1, ", outgoingCallsSetting="
21184 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21186 + move-result-object v0
21188 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
21190 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21192 + move-result-object v0
21194 + const-string v1, ", packageName="
21196 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21198 + move-result-object v0
21200 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21202 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21204 + move-result-object v0
21206 + const-string v1, ", simInfoSetting="
21208 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21210 + move-result-object v0
21212 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21214 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21216 + move-result-object v0
21218 + const-string v1, ", simSerialNumber="
21220 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21222 + move-result-object v0
21224 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21226 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21228 + move-result-object v0
21230 + const-string v1, ", simSerialNumberSetting="
21232 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21234 + move-result-object v0
21236 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21238 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21240 + move-result-object v0
21242 + const-string v1, ", smsSetting="
21244 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21246 + move-result-object v0
21248 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21250 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21252 + move-result-object v0
21254 + const-string v1, ", subscriberId="
21256 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21258 + move-result-object v0
21260 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21262 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21264 + move-result-object v0
21266 + const-string v1, ", subscriberIdSetting="
21268 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21270 + move-result-object v0
21272 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21274 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21276 + move-result-object v0
21278 + const-string v1, ", systemLogsSetting="
21280 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21282 + move-result-object v0
21284 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21286 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21288 + move-result-object v0
21290 + const-string v1, ", uid="
21292 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21294 + move-result-object v0
21296 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
21298 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21300 + move-result-object v0
21302 + const-string v1, ", phoneCallSetting="
21304 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21306 + move-result-object v0
21308 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21310 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21312 + move-result-object v0
21314 + const-string v1, ", smsSendSetting="
21316 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21318 + move-result-object v0
21320 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21322 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21324 + move-result-object v0
21326 + const-string v1, ", recordAudioSetting="
21328 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21330 + move-result-object v0
21332 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21334 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21336 + move-result-object v0
21338 + const-string v1, ", cameraSetting="
21340 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21342 + move-result-object v0
21344 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21346 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21348 + move-result-object v0
21350 + const-string v1, ", ipTableProtectSetting="
21352 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21354 + move-result-object v0
21356 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21358 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21360 + move-result-object v0
21362 + const-string v1, ", iccAccessSetting="
21364 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21366 + move-result-object v0
21368 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21370 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21372 + move-result-object v0
21374 + const-string v1, ", addOnManagementSetting="
21376 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21378 + move-result-object v0
21380 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21382 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21384 + move-result-object v0
21386 + const-string v1, ", android ID="
21388 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21390 + move-result-object v0
21392 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21394 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21396 + move-result-object v0
21398 + const-string v1, ", androidIdSetting="
21400 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21402 + move-result-object v0
21404 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21406 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21408 + move-result-object v0
21410 + const-string v1, ", wifiInfoSetting="
21412 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21414 + move-result-object v0
21416 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21418 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21420 + move-result-object v0
21422 + const-string v1, ", switchConnectivitySetting="
21424 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21426 + move-result-object v0
21428 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21430 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21432 + move-result-object v0
21434 + const-string v1, ", sendMmsSetting="
21436 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21438 + move-result-object v0
21440 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21442 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21444 + move-result-object v0
21446 + const-string v1, ", forceOnlineState="
21448 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21450 + move-result-object v0
21452 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21454 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21456 + move-result-object v0
21458 + const-string v1, ", switchWifiStateSetting="
21460 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21462 + move-result-object v0
21464 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21466 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21468 + move-result-object v0
21470 + const-string v1, "]"
21472 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21474 + move-result-object v0
21476 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21478 + move-result-object v0
21483 +.method public writeToParcel(Landroid/os/Parcel;I)V
21486 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21488 + if-nez v0, :cond_ef
21493 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21495 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21497 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21499 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
21501 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21503 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
21505 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21507 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
21509 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21511 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
21513 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21515 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
21517 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21519 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
21521 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21523 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
21525 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21527 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
21529 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21531 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
21533 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21535 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
21537 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21539 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
21541 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21543 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
21545 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21547 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21549 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21551 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21553 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21555 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21557 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21559 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21561 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21563 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21565 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21567 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
21569 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21571 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
21573 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21575 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
21577 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21579 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
21581 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21583 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
21585 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21587 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
21589 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21591 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21593 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21595 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21597 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21599 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
21601 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21603 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
21605 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21607 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21609 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21611 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
21613 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21615 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
21617 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21619 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21621 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21623 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21625 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21627 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
21629 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
21631 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21633 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21635 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21637 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21639 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21641 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21643 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21645 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21647 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21649 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21651 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21653 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21655 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21657 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21659 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21661 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21663 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21665 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21667 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21669 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21671 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21673 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21675 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21677 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21682 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21684 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
21690 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
21691 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
21692 +++ opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2013-01-09 02:52:41.643525511 -0600
21694 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21695 +.super Ljava/lang/Object;
21696 +.source "PrivacyAccountManager.java"
21699 +.implements Landroid/accounts/AccountManagerFuture;
21703 +.annotation system Ldalvik/annotation/EnclosingClass;
21704 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
21707 +.annotation system Ldalvik/annotation/InnerClass;
21708 + accessFlags = 0x2
21709 + name = "PrivacyAccountManagerFuture"
21712 +.annotation system Ldalvik/annotation/Signature;
21715 + "Ljava/lang/Object;",
21717 + "Ljava/lang/Object;",
21718 + "Landroid/accounts/AccountManagerFuture",
21725 +.field private result:Ljava/lang/Object;
21726 + .annotation system Ldalvik/annotation/Signature;
21733 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
21737 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
21739 + .annotation system Ldalvik/annotation/Signature;
21745 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
21747 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
21749 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21756 +.method public cancel(Z)Z
21764 +.method public getResult()Ljava/lang/Object;
21766 + .annotation system Ldalvik/annotation/Signature;
21772 + .annotation system Ldalvik/annotation/Throws;
21774 + Landroid/accounts/OperationCanceledException;,
21775 + Ljava/io/IOException;,
21776 + Landroid/accounts/AuthenticatorException;
21780 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21785 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
21787 + .annotation system Ldalvik/annotation/Signature;
21790 + "Ljava/util/concurrent/TimeUnit;",
21795 + .annotation system Ldalvik/annotation/Throws;
21797 + Landroid/accounts/OperationCanceledException;,
21798 + Ljava/io/IOException;,
21799 + Landroid/accounts/AuthenticatorException;
21803 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21808 +.method public isCancelled()Z
21816 +.method public isDone()Z
21823 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
21824 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
21825 +++ opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2013-01-09 02:52:41.647525535 -0600
21827 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
21828 +.super Landroid/accounts/AccountManager;
21829 +.source "PrivacyAccountManager.java"
21833 +.annotation system Ldalvik/annotation/MemberClasses;
21835 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21841 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
21845 +.field private context:Landroid/content/Context;
21847 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
21851 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
21854 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
21856 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21858 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21860 + const-string/jumbo v1, "privacy"
21862 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21864 + move-result-object v1
21866 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21868 + move-result-object v1
21870 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21872 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21877 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
21880 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
21882 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21884 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21886 + const-string/jumbo v1, "privacy"
21888 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21890 + move-result-object v1
21892 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21894 + move-result-object v1
21896 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21898 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21905 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
21907 + .annotation system Ldalvik/annotation/Throws;
21909 + Landroid/accounts/OperationCanceledException;,
21910 + Ljava/io/IOException;,
21911 + Landroid/accounts/AuthenticatorException;
21917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21919 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21921 + move-result-object v1
21923 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21927 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21929 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21931 + move-result-object v6
21933 + if-eqz v6, :cond_23
21935 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
21939 + if-eqz v0, :cond_23
21943 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21947 + const-string v4, "authTokens"
21949 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21955 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
21957 + move-result-object v7
21959 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21963 + const-string v4, "authTokens"
21965 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21970 +.method public getAccounts()[Landroid/accounts/Account;
21977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21979 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21981 + move-result-object v1
21983 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21987 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21989 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21991 + move-result-object v6
21993 + if-eqz v6, :cond_27
21995 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21999 + if-eqz v0, :cond_27
22001 + const-string v8, "[empty accounts list]"
22003 + new-array v7, v3, [Landroid/accounts/Account;
22005 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22009 + const-string v4, "accountsList"
22011 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22017 + const-string v8, "[real value]"
22019 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
22021 + move-result-object v7
22023 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22025 + const-string v4, "accountsList"
22027 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22032 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
22039 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22041 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22043 + move-result-object v1
22045 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22049 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22051 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22053 + move-result-object v6
22055 + if-eqz v6, :cond_27
22057 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22061 + if-eqz v0, :cond_27
22063 + const-string v8, "[empty accounts list]"
22065 + new-array v7, v3, [Landroid/accounts/Account;
22067 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22071 + const-string v4, "accountsList"
22073 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22079 + const-string v8, "[real value]"
22081 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
22083 + move-result-object v7
22085 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22087 + const-string v4, "accountsList"
22089 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22094 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22096 + .annotation system Ldalvik/annotation/Signature;
22099 + "Ljava/lang/String;",
22101 + "Ljava/lang/String;",
22102 + "Landroid/accounts/AccountManagerCallback",
22104 + "Landroid/accounts/Account;",
22106 + "Landroid/os/Handler;",
22108 + "Landroid/accounts/AccountManagerFuture",
22110 + "Landroid/accounts/Account;",
22119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22121 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22123 + move-result-object v1
22125 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22129 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22131 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22133 + move-result-object v6
22135 + if-eqz v6, :cond_2c
22137 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22141 + if-eqz v0, :cond_2c
22143 + const-string v8, "[false]"
22145 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22147 + new-array v0, v3, [Landroid/accounts/Account;
22149 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22155 + const-string v4, "accountsList"
22157 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22163 + const-string v8, "[real value]"
22165 + 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;
22167 + move-result-object v7
22169 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22171 + const-string v4, "accountsList"
22173 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22178 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22180 + .annotation system Ldalvik/annotation/Signature;
22183 + "Landroid/accounts/Account;",
22184 + "Ljava/lang/String;",
22185 + "Landroid/os/Bundle;",
22186 + "Landroid/app/Activity;",
22187 + "Landroid/accounts/AccountManagerCallback",
22189 + "Landroid/os/Bundle;",
22191 + "Landroid/os/Handler;",
22193 + "Landroid/accounts/AccountManagerFuture",
22195 + "Landroid/os/Bundle;",
22202 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22204 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22206 + move-result-object v1
22208 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22214 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22216 + move-result-object v6
22218 + if-eqz v6, :cond_2e
22220 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22224 + if-eqz v0, :cond_2e
22226 + const-string v8, "[empty]"
22228 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22230 + new-instance v0, Landroid/os/Bundle;
22232 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22234 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22240 + const-string v4, "authTokens"
22242 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22248 + const-string v8, "[real value]"
22250 + 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;
22252 + move-result-object v7
22254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22258 + const-string v4, "authTokens"
22260 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22265 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22267 + .annotation system Ldalvik/annotation/Signature;
22270 + "Landroid/accounts/Account;",
22271 + "Ljava/lang/String;",
22273 + "Landroid/accounts/AccountManagerCallback",
22275 + "Landroid/os/Bundle;",
22277 + "Landroid/os/Handler;",
22279 + "Landroid/accounts/AccountManagerFuture",
22281 + "Landroid/os/Bundle;",
22288 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22290 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22292 + move-result-object v1
22294 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22300 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22302 + move-result-object v6
22304 + if-eqz v6, :cond_2e
22306 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22310 + if-eqz v0, :cond_2e
22312 + const-string v8, "[empty]"
22314 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22316 + new-instance v0, Landroid/os/Bundle;
22318 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22320 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22326 + const-string v4, "authTokens"
22328 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22334 + const-string v8, "[real value]"
22336 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22338 + move-result-object v7
22340 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22344 + const-string v4, "authTokens"
22346 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22351 +.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;
22353 + .annotation system Ldalvik/annotation/Signature;
22356 + "Ljava/lang/String;",
22357 + "Ljava/lang/String;",
22359 + "Ljava/lang/String;",
22360 + "Landroid/app/Activity;",
22361 + "Landroid/os/Bundle;",
22362 + "Landroid/os/Bundle;",
22363 + "Landroid/accounts/AccountManagerCallback",
22365 + "Landroid/os/Bundle;",
22367 + "Landroid/os/Handler;",
22369 + "Landroid/accounts/AccountManagerFuture",
22371 + "Landroid/os/Bundle;",
22376 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22378 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22380 + move-result-object v1
22382 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22386 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22388 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22390 + move-result-object v6
22392 + if-eqz v6, :cond_2e
22394 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22398 + if-eqz v0, :cond_2e
22400 + const-string v8, "[empty]"
22402 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22404 + new-instance v0, Landroid/os/Bundle;
22406 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22408 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22410 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22414 + const-string v4, "authTokens"
22418 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22424 + const-string v8, "[real value]"
22426 + 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;
22428 + move-result-object v7
22430 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22434 + const-string v4, "authTokens"
22438 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22443 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22445 + .annotation system Ldalvik/annotation/Signature;
22448 + "Landroid/accounts/Account;",
22450 + "Ljava/lang/String;",
22451 + "Landroid/accounts/AccountManagerCallback",
22453 + "Ljava/lang/Boolean;",
22455 + "Landroid/os/Handler;",
22457 + "Landroid/accounts/AccountManagerFuture",
22459 + "Ljava/lang/Boolean;",
22468 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22470 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22472 + move-result-object v1
22474 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22478 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22480 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22482 + move-result-object v6
22484 + if-eqz v6, :cond_2e
22486 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22490 + if-eqz v0, :cond_2e
22492 + const-string v8, "[false]"
22494 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22496 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
22498 + move-result-object v0
22500 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22506 + const-string v4, "accountsList"
22508 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22514 + const-string v8, "[real value]"
22516 + 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;
22518 + move-result-object v7
22520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22522 + const-string v4, "accountsList"
22524 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22528 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali opd-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
22529 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
22530 +++ opd-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2013-01-09 02:52:41.647525535 -0600
22532 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
22533 +.super Ljava/lang/Object;
22534 +.source "PrivacyActivityManagerService.java"
22538 +.field private static final DATA_SMS_RECEIVED_INTENT:Ljava/lang/String; = "android.intent.action.DATA_SMS_RECEIVED"
22540 +.field private static final SMS_RECEIVED_ACTION_INTENT:Ljava/lang/String; = "android.provider.Telephony.SMS_RECEIVED"
22542 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
22544 +.field private static final WAP_PUSH_RECEIVED_INTENT:Ljava/lang/String; = "android.provider.Telephony.WAP_PUSH_RECEIVED"
22546 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
22548 +.field private static tmpIn:Landroid/content/Intent;
22550 +.field private static tmpInHash:J
22552 +.field private static tmpInReceivers:I
22554 +.field private static tmpMms:Landroid/content/Intent;
22556 +.field private static tmpMmsHash:J
22558 +.field private static tmpMmsReceivers:I
22560 +.field private static tmpOut:Landroid/content/Intent;
22562 +.field private static tmpOutHash:J
22564 +.field private static tmpOutReceivers:I
22566 +.field private static tmpPackageAddedHash:J
22568 +.field private static tmpSms:Landroid/content/Intent;
22570 +.field private static tmpSmsHash:J
22572 +.field private static tmpSmsReceivers:I
22576 +.method static constructor <clinit>()V
22581 + const-wide/16 v0, 0x0
22583 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22585 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22587 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22589 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22591 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22593 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22595 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
22597 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
22599 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
22604 +.method public constructor <init>()V
22607 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
22612 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
22615 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22617 + if-nez v2, :cond_13
22619 + if-eqz p3, :cond_13
22621 + const-string/jumbo v2, "privacy"
22623 + move-object/from16 v0, p3
22625 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
22627 + move-result-object v2
22629 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
22631 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22634 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22636 + if-nez v2, :cond_2c
22638 + if-nez p3, :cond_2c
22640 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
22644 + const-string/jumbo v4, "privacy"
22646 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
22648 + move-result-object v4
22650 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
22652 + move-result-object v4
22654 + invoke-direct {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
22656 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22659 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
22661 + move-result-object v16
22663 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
22665 + move-object/from16 v0, v16
22667 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22671 + if-eqz v2, :cond_cc
22673 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22675 + move-object/from16 v0, p0
22677 + move/from16 v1, p1
22679 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22681 + move-result-object v8
22683 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22685 + move-object/from16 v0, p2
22687 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22689 + move-result-object v23
22691 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22693 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22695 + move-result-wide v4
22697 + cmp-long v2, v2, v4
22699 + if-eqz v2, :cond_66
22701 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22703 + move-result-object v2
22705 + check-cast v2, Landroid/content/Intent;
22707 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22709 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22711 + move-result-wide v2
22713 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22715 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22718 + if-eqz v8, :cond_93
22721 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
22725 + if-eqz v2, :cond_93
22727 + const-string v23, ""
22729 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22731 + move-object/from16 v0, p2
22733 + move-object/from16 v1, v23
22735 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22737 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22741 + const-string/jumbo v6, "outgoingCall"
22745 + move-object/from16 v3, p0
22747 + move/from16 v4, p1
22749 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22751 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_87} :catch_bd
22755 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22759 + if-le v2, v3, :cond_c8
22761 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22763 + add-int/lit8 v2, v2, -0x1
22765 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22773 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22775 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22777 + move-result-wide v4
22779 + cmp-long v2, v2, v4
22781 + if-nez v2, :cond_87
22783 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22785 + const-string v3, "android.intent.extra.PHONE_NUMBER"
22787 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22789 + move-result-object v23
22791 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22793 + move-object/from16 v0, p2
22795 + move-object/from16 v1, v23
22797 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22799 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22803 + const-string/jumbo v6, "outgoingCall"
22807 + move-object/from16 v3, p0
22809 + move/from16 v4, p1
22811 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22813 + .catch Ljava/lang/Exception; {:try_start_93 .. :try_end_bc} :catch_bd
22818 + move-exception v20
22820 + const-string v2, "PrivacyActivityManagerService"
22822 + const-string v3, "failed to enforce intent broadcast permission"
22824 + move-object/from16 v0, v20
22826 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22833 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22838 + const-string v2, "android.intent.action.PHONE_STATE"
22840 + move-object/from16 v0, v16
22842 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22846 + if-eqz v2, :cond_170
22848 + const-string v2, "incoming_number"
22850 + move-object/from16 v0, p2
22852 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22854 + move-result-object v23
22856 + if-eqz v23, :cond_92
22858 + invoke-virtual/range {v23 .. v23}, Ljava/lang/String;->isEmpty()Z
22862 + if-nez v2, :cond_92
22864 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22866 + move-object/from16 v0, p0
22868 + move/from16 v1, p1
22870 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22872 + move-result-object v8
22874 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22876 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22878 + move-result-wide v4
22880 + cmp-long v2, v2, v4
22882 + if-eqz v2, :cond_10a
22884 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22886 + move-result-object v2
22888 + check-cast v2, Landroid/content/Intent;
22890 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22892 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22894 + move-result-wide v2
22896 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22898 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22901 + if-eqz v8, :cond_137
22904 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
22908 + if-eqz v2, :cond_137
22910 + const-string v23, ""
22912 + const-string v2, "incoming_number"
22914 + move-object/from16 v0, p2
22916 + move-object/from16 v1, v23
22918 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22920 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22924 + const-string v6, "incomingCall"
22928 + move-object/from16 v3, p0
22930 + move/from16 v4, p1
22932 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22934 + .catch Ljava/lang/Exception; {:try_start_10c .. :try_end_12a} :catch_160
22938 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22942 + if-le v2, v3, :cond_16b
22944 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22946 + add-int/lit8 v2, v2, -0x1
22948 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22954 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22956 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22958 + move-result-wide v4
22960 + cmp-long v2, v2, v4
22962 + if-nez v2, :cond_12a
22964 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22966 + const-string v3, "incoming_number"
22968 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22970 + move-result-object v23
22972 + const-string v2, "incoming_number"
22974 + move-object/from16 v0, p2
22976 + move-object/from16 v1, v23
22978 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22980 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22984 + const-string v6, "incomingCall"
22988 + move-object/from16 v3, p0
22990 + move/from16 v4, p1
22992 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22994 + .catch Ljava/lang/Exception; {:try_start_137 .. :try_end_15f} :catch_160
22999 + move-exception v20
23001 + const-string v2, "PrivacyActivityManagerService"
23003 + const-string v3, "failed to enforce intent broadcast permission"
23005 + move-object/from16 v0, v20
23007 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23014 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
23019 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
23021 + move-object/from16 v0, v16
23023 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23027 + if-eqz v2, :cond_253
23029 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23031 + move-object/from16 v0, p0
23033 + move/from16 v1, p1
23035 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23037 + move-result-object v8
23039 + const-string v23, "[real]"
23041 + const-string/jumbo v2, "pdus"
23043 + move-object/from16 v0, p2
23045 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23047 + move-result-object v2
23049 + check-cast v2, [Ljava/lang/Object;
23051 + move-object/from16 v22, v2
23053 + check-cast v22, [Ljava/lang/Object;
23055 + if-eqz v22, :cond_1f8
23059 + aget-object v2, v22, v2
23061 + check-cast v2, [B
23063 + check-cast v2, [B
23065 + move-object/from16 v19, v2
23068 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23070 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23072 + move-result-wide v4
23074 + cmp-long v2, v2, v4
23076 + if-eqz v2, :cond_1ba
23078 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23080 + move-result-object v2
23082 + check-cast v2, Landroid/content/Intent;
23084 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23086 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23088 + move-result-wide v2
23090 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23092 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23095 + if-eqz v8, :cond_1fb
23098 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
23102 + if-eqz v2, :cond_1fb
23104 + const-string v23, "[empty]"
23108 + new-array v0, v2, [Ljava/lang/Object;
23110 + move-object/from16 v21, v0
23114 + const/16 v3, 0x10
23116 + new-array v3, v3, [B
23118 + fill-array-data v3, :array_3da
23120 + aput-object v3, v21, v2
23122 + const-string/jumbo v2, "pdus"
23124 + move-object/from16 v0, p2
23126 + move-object/from16 v1, v21
23128 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23130 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23134 + const-string/jumbo v6, "sms"
23138 + move-object/from16 v3, p0
23140 + move/from16 v4, p1
23142 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23144 + .catch Ljava/lang/Exception; {:try_start_1bc .. :try_end_1eb} :catch_240
23148 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23152 + if-le v2, v3, :cond_24e
23154 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23156 + add-int/lit8 v2, v2, -0x1
23158 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23163 + const/16 v19, 0x0
23169 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23171 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23173 + move-result-wide v4
23175 + cmp-long v2, v2, v4
23177 + if-nez v2, :cond_1eb
23179 + const-string/jumbo v2, "pdus"
23181 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23183 + const-string/jumbo v4, "pdus"
23185 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23187 + move-result-object v3
23189 + move-object/from16 v0, p2
23191 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23193 + const-string/jumbo v2, "pdus"
23195 + move-object/from16 v0, p2
23197 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23199 + move-result-object v2
23201 + check-cast v2, [Ljava/lang/Object;
23203 + move-object v0, v2
23205 + check-cast v0, [Ljava/lang/Object;
23207 + move-object/from16 v22, v0
23209 + if-eqz v22, :cond_24b
23213 + aget-object v2, v22, v2
23215 + check-cast v2, [B
23217 + check-cast v2, [B
23219 + move-object/from16 v19, v2
23222 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23226 + const-string/jumbo v6, "sms"
23230 + move-object/from16 v3, p0
23232 + move/from16 v4, p1
23234 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23236 + .catch Ljava/lang/Exception; {:try_start_1fb .. :try_end_23f} :catch_240
23241 + move-exception v20
23243 + const-string v2, "PrivacyActivityManagerService"
23245 + const-string v3, "failed to enforce intent broadcast permission"
23247 + move-object/from16 v0, v20
23249 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23254 + const/16 v19, 0x0
23261 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23266 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
23268 + move-object/from16 v0, v16
23270 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23274 + if-nez v2, :cond_267
23276 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
23278 + move-object/from16 v0, v16
23280 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23284 + if-eqz v2, :cond_340
23287 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23289 + move-object/from16 v0, p0
23291 + move/from16 v1, p1
23293 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23295 + move-result-object v8
23297 + const-string v23, "[real]"
23299 + const-string/jumbo v2, "pdus"
23301 + move-object/from16 v0, p2
23303 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23305 + move-result-object v2
23307 + check-cast v2, [Ljava/lang/Object;
23309 + move-object/from16 v22, v2
23311 + check-cast v22, [Ljava/lang/Object;
23313 + if-eqz v22, :cond_2e5
23317 + aget-object v2, v22, v2
23319 + check-cast v2, [B
23321 + check-cast v2, [B
23323 + move-object/from16 v19, v2
23326 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23328 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23330 + move-result-wide v4
23332 + cmp-long v2, v2, v4
23334 + if-eqz v2, :cond_2a7
23336 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23338 + move-result-object v2
23340 + check-cast v2, Landroid/content/Intent;
23342 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23344 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23346 + move-result-wide v2
23348 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23350 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23353 + if-eqz v8, :cond_2e8
23356 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
23360 + if-eqz v2, :cond_2e8
23362 + const-string v23, "[empty]"
23366 + new-array v0, v2, [Ljava/lang/Object;
23368 + move-object/from16 v21, v0
23372 + const/16 v3, 0x10
23374 + new-array v3, v3, [B
23376 + fill-array-data v3, :array_3e6
23378 + aput-object v3, v21, v2
23380 + const-string/jumbo v2, "pdus"
23382 + move-object/from16 v0, p2
23384 + move-object/from16 v1, v21
23386 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23388 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23392 + const-string/jumbo v6, "mms"
23396 + move-object/from16 v3, p0
23398 + move/from16 v4, p1
23400 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23402 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2d8} :catch_32d
23406 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23410 + if-le v2, v3, :cond_33b
23412 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23414 + add-int/lit8 v2, v2, -0x1
23416 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23421 + const/16 v19, 0x0
23427 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23429 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23431 + move-result-wide v4
23433 + cmp-long v2, v2, v4
23435 + if-nez v2, :cond_2d8
23437 + const-string/jumbo v2, "pdus"
23439 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23441 + const-string/jumbo v4, "pdus"
23443 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23445 + move-result-object v3
23447 + move-object/from16 v0, p2
23449 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23451 + const-string/jumbo v2, "pdus"
23453 + move-object/from16 v0, p2
23455 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23457 + move-result-object v2
23459 + check-cast v2, [Ljava/lang/Object;
23461 + move-object v0, v2
23463 + check-cast v0, [Ljava/lang/Object;
23465 + move-object/from16 v22, v0
23467 + if-eqz v22, :cond_338
23471 + aget-object v2, v22, v2
23473 + check-cast v2, [B
23475 + check-cast v2, [B
23477 + move-object/from16 v19, v2
23480 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23484 + const-string/jumbo v6, "mms"
23488 + move-object/from16 v3, p0
23490 + move/from16 v4, p1
23492 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23494 + .catch Ljava/lang/Exception; {:try_start_2e8 .. :try_end_32c} :catch_32d
23499 + move-exception v20
23501 + const-string v2, "PrivacyActivityManagerService"
23503 + const-string v3, "failed to enforce intent broadcast permission"
23505 + move-object/from16 v0, v20
23507 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23512 + const/16 v19, 0x0
23519 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23524 + const-string v2, "android.intent.action.BOOT_COMPLETED"
23526 + move-object/from16 v0, v16
23528 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23532 + if-eqz v2, :cond_38d
23534 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23536 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
23538 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23540 + move-object/from16 v0, p0
23542 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
23544 + move-result-object v8
23546 + if-eqz v8, :cond_376
23548 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
23552 + if-eqz v2, :cond_376
23554 + const-string v2, "catchBootComplete"
23556 + move-object/from16 v0, p2
23558 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
23560 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23564 + const-string v13, "intentBootCompleted"
23570 + move-object/from16 v10, p0
23572 + move/from16 v11, p1
23574 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23579 + const-string v2, "android.intent.action.BOOT_COMPLETED"
23581 + move-object/from16 v0, p2
23583 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
23585 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23589 + const-string v13, "intentBootCompleted"
23595 + move-object/from16 v10, p0
23597 + move/from16 v11, p1
23599 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23604 + const-string v2, "android.intent.action.PACKAGE_ADDED"
23606 + move-object/from16 v0, v16
23608 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23612 + if-eqz v2, :cond_92
23614 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23616 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23618 + move-result-wide v4
23620 + cmp-long v2, v2, v4
23622 + if-eqz v2, :cond_92
23624 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23626 + move-result-wide v2
23628 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23630 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
23632 + move-result-object v2
23634 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
23636 + move-result-object v17
23638 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
23640 + move-result-object v2
23642 + const-string v3, "android.intent.extra.UID"
23644 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
23648 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23650 + move-object/from16 v0, v17
23652 + move/from16 v1, v18
23654 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23656 + move-result-object v8
23658 + if-eqz v8, :cond_92
23660 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
23664 + move/from16 v0, v18
23666 + if-eq v2, v0, :cond_92
23668 + move/from16 v0, v18
23670 + invoke-virtual {v8, v0}, Landroid/privacy/PrivacySettings;->setUid(I)V
23672 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23674 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
23721 +.method private static hashCode(Landroid/content/Intent;)J
23724 + const-wide/16 v3, 0x0
23726 + const-string/jumbo v2, "privacy_hash"
23728 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
23730 + move-result-wide v0
23732 + cmp-long v2, v0, v3
23734 + if-nez v2, :cond_1e
23736 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
23740 + int-to-long v2, v2
23742 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
23744 + move-result-wide v4
23746 + add-long v0, v2, v4
23748 + const-string/jumbo v2, "privacy_hash"
23750 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
23755 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali
23756 --- stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 1969-12-31 18:00:00.000000000 -0600
23757 +++ opd-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 2013-01-09 02:52:41.651525551 -0600
23759 +.class public Landroid/privacy/surrogate/PrivacyConnectivityManager;
23760 +.super Landroid/net/ConnectivityManager;
23761 +.source "PrivacyConnectivityManager.java"
23765 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyConnectivityManager"
23769 +.field private context:Landroid/content/Context;
23771 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
23775 +.method public constructor <init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
23778 + invoke-direct {p0, p1}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
23780 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23782 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
23784 + const-string/jumbo v1, "privacy"
23786 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
23788 + move-result-object v1
23790 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
23792 + move-result-object v1
23794 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
23796 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23798 + const-string v0, "PrivacyConnectivityManager"
23800 + new-instance v1, Ljava/lang/StringBuilder;
23802 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
23804 + const-string/jumbo v2, "now in constructor for package: "
23806 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23808 + move-result-object v1
23810 + invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23812 + move-result-object v2
23814 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23816 + move-result-object v1
23818 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23820 + move-result-object v1
23822 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23829 +.method public getActiveLinkProperties()Landroid/net/LinkProperties;
23836 + new-instance v7, Landroid/net/LinkProperties;
23838 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
23840 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23842 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23844 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23846 + move-result-object v1
23848 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23852 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23854 + move-result-object v8
23856 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23858 + if-eqz v0, :cond_34
23860 + if-eqz v8, :cond_34
23862 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23866 + if-eqz v0, :cond_34
23868 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23870 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23872 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23874 + move-result-object v1
23878 + const-string/jumbo v4, "networkInfoCurrent"
23880 + move-object v6, v5
23882 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23888 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23890 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23892 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23894 + move-result-object v1
23898 + const-string/jumbo v4, "networkInfoCurrent"
23900 + move-object v6, v5
23902 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23904 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
23906 + move-result-object v7
23911 +.method public getActiveNetworkInfo()Landroid/net/NetworkInfo;
23922 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23924 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23926 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23928 + move-result-object v1
23930 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23934 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23936 + move-result-object v8
23938 + new-instance v7, Landroid/net/NetworkInfo;
23940 + const-string v0, "MOBILE"
23942 + const-string v1, "UNKNOWN"
23944 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
23946 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23948 + if-eqz v0, :cond_31
23950 + if-eqz v8, :cond_31
23952 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
23956 + if-nez v0, :cond_31
23958 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
23960 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
23962 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
23965 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23967 + if-eqz v0, :cond_4d
23969 + if-eqz v8, :cond_4d
23971 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23975 + if-eqz v0, :cond_4d
23977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23979 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23981 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23983 + move-result-object v1
23985 + const-string/jumbo v4, "networkInfoCurrent"
23987 + move-object v6, v5
23989 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23995 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23997 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23999 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24001 + move-result-object v1
24003 + const-string/jumbo v4, "networkInfoCurrent"
24007 + move-object v6, v5
24009 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24011 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
24013 + move-result-object v7
24018 +.method public getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
24029 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24031 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24033 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24035 + move-result-object v1
24037 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24041 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24043 + move-result-object v8
24045 + new-instance v7, Landroid/net/NetworkInfo;
24047 + const-string v0, "MOBILE"
24049 + const-string v1, "UNKNOWN"
24051 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24053 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24055 + if-eqz v0, :cond_31
24057 + if-eqz v8, :cond_31
24059 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24063 + if-nez v0, :cond_31
24065 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24067 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24069 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24072 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24074 + if-eqz v0, :cond_4d
24076 + if-eqz v8, :cond_4d
24078 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24082 + if-eqz v0, :cond_4d
24084 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24086 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24088 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24090 + move-result-object v1
24092 + const-string/jumbo v4, "networkInfoCurrent"
24094 + move-object v6, v5
24096 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24102 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24104 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24106 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24108 + move-result-object v1
24110 + const-string/jumbo v4, "networkInfoCurrent"
24114 + move-object v6, v5
24116 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24118 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
24120 + move-result-object v7
24125 +.method public getAllNetworkInfo()[Landroid/net/NetworkInfo;
24136 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24138 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24140 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24142 + move-result-object v1
24144 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24148 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24150 + move-result-object v8
24152 + new-array v7, v3, [Landroid/net/NetworkInfo;
24154 + new-instance v0, Landroid/net/NetworkInfo;
24156 + const-string v1, "MOBILE"
24158 + const-string v4, "CONNECTED"
24160 + invoke-direct {v0, v6, v6, v1, v4}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24162 + aput-object v0, v7, v6
24164 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24166 + if-eqz v0, :cond_39
24168 + if-eqz v8, :cond_39
24170 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24174 + if-nez v0, :cond_39
24176 + aget-object v0, v7, v6
24178 + invoke-virtual {v0, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24180 + aget-object v0, v7, v6
24182 + sget-object v1, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24184 + invoke-virtual {v0, v1}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24187 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24189 + if-eqz v0, :cond_55
24191 + if-eqz v8, :cond_55
24193 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24197 + if-eqz v0, :cond_55
24199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24201 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24203 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24205 + move-result-object v1
24207 + const-string/jumbo v4, "networkInfoCurrent"
24209 + move-object v6, v5
24211 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24217 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24219 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24221 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24223 + move-result-object v1
24225 + const-string/jumbo v4, "networkInfoCurrent"
24229 + move-object v6, v5
24231 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24233 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
24235 + move-result-object v7
24240 +.method public getLinkProperties(I)Landroid/net/LinkProperties;
24247 + new-instance v7, Landroid/net/LinkProperties;
24249 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
24251 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24253 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24255 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24257 + move-result-object v1
24259 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24263 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24265 + move-result-object v8
24267 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24269 + if-eqz v0, :cond_34
24271 + if-eqz v8, :cond_34
24273 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24277 + if-eqz v0, :cond_34
24279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24281 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24283 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24285 + move-result-object v1
24289 + const-string/jumbo v4, "networkInfoCurrent"
24291 + move-object v6, v5
24293 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24299 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24301 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24303 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24305 + move-result-object v1
24309 + const-string/jumbo v4, "networkInfoCurrent"
24311 + move-object v6, v5
24313 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24315 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties;
24317 + move-result-object v7
24322 +.method public getMobileDataEnabled()Z
24331 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24333 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24335 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24337 + move-result-object v1
24339 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24343 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24345 + move-result-object v7
24347 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24349 + if-eqz v0, :cond_2f
24351 + if-eqz v7, :cond_2f
24353 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24357 + if-nez v0, :cond_2f
24359 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24361 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24363 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24365 + move-result-object v1
24367 + const-string/jumbo v4, "networkInfoCurrent"
24369 + move-object v6, v5
24371 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24377 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24379 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24381 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24383 + move-result-object v1
24387 + const-string/jumbo v4, "networkInfoCurrent"
24389 + move-object v6, v5
24391 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24393 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z
24400 +.method public getNetworkInfo(I)Landroid/net/NetworkInfo;
24411 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24413 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24415 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24417 + move-result-object v1
24419 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24423 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24425 + move-result-object v8
24427 + new-instance v7, Landroid/net/NetworkInfo;
24429 + const-string v0, "MOBILE"
24431 + const-string v1, "CONNECTED"
24433 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24435 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24437 + if-eqz v0, :cond_31
24439 + if-eqz v8, :cond_31
24441 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24445 + if-nez v0, :cond_31
24447 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24449 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24451 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24454 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24456 + if-eqz v0, :cond_4d
24458 + if-eqz v8, :cond_4d
24460 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24464 + if-eqz v0, :cond_4d
24466 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24468 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24470 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24472 + move-result-object v1
24474 + const-string/jumbo v4, "networkInfoCurrent"
24476 + move-object v6, v5
24478 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24484 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24486 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24488 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24490 + move-result-object v1
24492 + const-string/jumbo v4, "networkInfoCurrent"
24496 + move-object v6, v5
24498 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24500 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
24502 + move-result-object v7
24507 +.method public requestRouteToHost(II)Z
24518 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24520 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24522 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24524 + move-result-object v1
24526 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24530 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24532 + move-result-object v7
24534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24536 + if-eqz v0, :cond_30
24538 + if-eqz v7, :cond_30
24540 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24544 + if-nez v0, :cond_30
24546 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24548 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24550 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24552 + move-result-object v1
24554 + const-string/jumbo v4, "networkInfoCurrent"
24556 + move-object v6, v5
24558 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24564 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24566 + if-eqz v0, :cond_4d
24568 + if-eqz v7, :cond_4d
24570 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24574 + if-eqz v0, :cond_4d
24576 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24578 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24580 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24582 + move-result-object v1
24584 + const-string/jumbo v4, "networkInfoCurrent"
24586 + move-object v6, v5
24588 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24595 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24597 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24599 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24601 + move-result-object v1
24603 + const-string/jumbo v4, "networkInfoCurrent"
24607 + move-object v6, v5
24609 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24611 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHost(II)Z
24618 +.method public requestRouteToHostAddress(ILjava/net/InetAddress;)Z
24629 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24631 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24633 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24635 + move-result-object v1
24637 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24641 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24643 + move-result-object v7
24645 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24647 + if-eqz v0, :cond_30
24649 + if-eqz v7, :cond_30
24651 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24655 + if-nez v0, :cond_30
24657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24659 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24661 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24663 + move-result-object v1
24665 + const-string/jumbo v4, "networkInfoCurrent"
24667 + move-object v6, v5
24669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24675 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24677 + if-eqz v0, :cond_4d
24679 + if-eqz v7, :cond_4d
24681 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24685 + if-eqz v0, :cond_4d
24687 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24689 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24691 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24693 + move-result-object v1
24695 + const-string/jumbo v4, "networkInfoCurrent"
24697 + move-object v6, v5
24699 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24706 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24708 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24710 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24712 + move-result-object v1
24714 + const-string/jumbo v4, "networkInfoCurrent"
24718 + move-object v6, v5
24720 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24722 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
24729 +.method public setMobileDataEnabled(Z)V
24736 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24738 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24740 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24742 + move-result-object v1
24744 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24748 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24750 + move-result-object v7
24752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24754 + if-eqz v0, :cond_2f
24756 + if-eqz v7, :cond_2f
24758 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
24762 + if-eqz v0, :cond_2f
24764 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24766 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24768 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24770 + move-result-object v1
24774 + const-string/jumbo v4, "switchconnectivity"
24776 + move-object v6, v5
24778 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24784 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24786 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24788 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24790 + move-result-object v1
24794 + const-string/jumbo v4, "switchconnectivity"
24796 + move-object v6, v5
24798 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24800 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V
24804 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali opd-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
24805 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
24806 +++ opd-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2013-01-09 02:52:41.651525551 -0600
24808 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
24809 +.super Ljava/lang/Object;
24810 +.source "PrivacyContentResolver.java"
24814 +.field private static final MMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms"
24816 +.field private static final MMS_SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms-sms"
24818 +.field private static final SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "sms"
24820 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
24822 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
24826 +.method public constructor <init>()V
24829 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
24834 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
24837 + new-instance v4, Ljava/lang/StringBuffer;
24839 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
24841 + if-eqz p0, :cond_2d
24843 + move-object v0, p0
24845 + array-length v3, v0
24850 + if-ge v2, v3, :cond_30
24852 + aget-object v1, v0, v2
24854 + new-instance v5, Ljava/lang/StringBuilder;
24856 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
24858 + const-string v6, "["
24860 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24862 + move-result-object v5
24864 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24866 + move-result-object v5
24868 + const-string v6, "]"
24870 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24872 + move-result-object v5
24874 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24876 + move-result-object v5
24878 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
24880 + add-int/lit8 v2, v2, 0x1
24885 + const-string v5, ""
24891 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
24893 + move-result-object v5
24898 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
24900 + .annotation system Ldalvik/annotation/Throws;
24902 + Landroid/os/RemoteException;
24906 + if-eqz p0, :cond_1db
24908 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24910 + if-nez v1, :cond_13
24912 + const-string/jumbo v1, "privacy"
24914 + move-object/from16 v0, p2
24916 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
24918 + move-result-object v1
24920 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
24922 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24925 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24927 + move-result-object v2
24929 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24933 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24935 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24937 + move-result-object v7
24939 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
24941 + move-result-object v9
24943 + const-string v15, "[real]"
24945 + move-object/from16 v13, p3
24947 + if-eqz v9, :cond_54
24949 + const-string v1, "contacts"
24951 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24955 + if-nez v1, :cond_3b
24957 + const-string v1, "com.android.contacts"
24959 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24963 + if-eqz v1, :cond_ab
24966 + if-eqz v7, :cond_54
24968 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
24974 + if-ne v1, v4, :cond_55
24976 + const-string v15, "[empty]"
24978 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24980 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24982 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24986 + const-string v5, "contacts"
24990 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24994 + return-object v13
24997 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
25003 + if-ne v1, v4, :cond_a1
25005 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
25007 + move-result-object v1
25009 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
25011 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
25013 + move-result-object v4
25015 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
25019 + if-eqz v1, :cond_a1
25023 + if-eqz p1, :cond_82
25025 + move-object/from16 v8, p1
25027 + array-length v12, v8
25032 + if-ge v10, v12, :cond_82
25034 + aget-object v16, v8, v10
25036 + const-string v1, "_id"
25038 + move-object/from16 v0, v16
25040 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25044 + if-eqz v1, :cond_93
25049 + if-nez v11, :cond_96
25051 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25053 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25056 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25060 + const-string v5, "contacts"
25064 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25069 + add-int/lit8 v10, v10, 0x1
25074 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
25076 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
25078 + move-result-object v1
25080 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
25082 + move-object v13, v14
25087 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25091 + const-string v5, "contacts"
25095 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25100 + const-string v1, "com.android.calendar"
25102 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25106 + if-eqz v1, :cond_d8
25108 + if-eqz v7, :cond_cd
25110 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
25116 + if-ne v1, v4, :cond_cd
25118 + const-string v15, "[empty]"
25120 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25122 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25124 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25128 + const-string v5, "calendar"
25132 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25137 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25141 + const-string v5, "calendar"
25145 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25150 + const-string/jumbo v1, "mms"
25152 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25156 + if-eqz v1, :cond_109
25158 + if-eqz v7, :cond_fd
25160 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25166 + if-ne v1, v4, :cond_fd
25168 + const-string v15, "[empty]"
25170 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25172 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25174 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25178 + const-string/jumbo v5, "mms"
25182 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25187 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25191 + const-string/jumbo v5, "mms"
25195 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25200 + const-string/jumbo v1, "sms"
25202 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25206 + if-eqz v1, :cond_13a
25208 + if-eqz v7, :cond_12e
25210 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25216 + if-ne v1, v4, :cond_12e
25218 + const-string v15, "[empty]"
25220 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25222 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25224 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25228 + const-string/jumbo v5, "sms"
25232 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25237 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25241 + const-string/jumbo v5, "sms"
25245 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25250 + const-string/jumbo v1, "mms-sms"
25252 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25256 + if-nez v1, :cond_14c
25258 + const-string/jumbo v1, "mms-sms-v2"
25260 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25264 + if-eqz v1, :cond_17b
25267 + if-eqz v7, :cond_16f
25269 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25275 + if-eq v1, v4, :cond_15c
25277 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25283 + if-ne v1, v4, :cond_16f
25286 + const-string v15, "[empty]"
25288 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25290 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25292 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25296 + const-string/jumbo v5, "mmsSms"
25300 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25305 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25309 + const-string/jumbo v5, "mmsSms"
25313 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25318 + const-string v1, "call_log"
25320 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25324 + if-eqz v1, :cond_1a9
25326 + if-eqz v7, :cond_19e
25328 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
25334 + if-ne v1, v4, :cond_19e
25336 + const-string v15, "[empty]"
25338 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25340 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25342 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25346 + const-string v5, "callLog"
25350 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25355 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25359 + const-string v5, "callLog"
25363 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25368 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
25370 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25372 + move-result-object v1
25374 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25378 + if-eqz v1, :cond_54
25380 + if-eqz v7, :cond_1d0
25382 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
25388 + if-ne v1, v4, :cond_1d0
25390 + const-string v15, "[empty]"
25392 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25394 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25396 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25400 + const-string v5, "bookmarks"
25404 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25409 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25413 + const-string v5, "bookmarks"
25417 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25422 + move-object/from16 v13, p3
25427 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;Z)Landroid/database/Cursor;
25429 + .annotation system Ldalvik/annotation/Throws;
25431 + Landroid/os/RemoteException;
25435 + if-eqz p0, :cond_dd
25437 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25439 + if-nez v1, :cond_13
25441 + const-string/jumbo v1, "privacy"
25443 + move-object/from16 v0, p2
25445 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
25447 + move-result-object v1
25449 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
25451 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25454 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25456 + move-result-object v2
25458 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25462 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25464 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25466 + move-result-object v7
25468 + invoke-virtual {p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25470 + move-result-object v9
25472 + const-string v14, "[real]"
25474 + move-object/from16 v13, p3
25476 + if-eqz v9, :cond_6d
25478 + const-string v1, "com.google.android.gsf.gservices"
25480 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25484 + if-eqz v1, :cond_6d
25486 + if-eqz v7, :cond_cb
25488 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
25492 + if-eqz v1, :cond_cb
25494 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
25498 + const/4 v11, -0x1
25504 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getCount()I
25508 + if-ge v12, v1, :cond_5d
25510 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->moveToNext()Z
25514 + move-object/from16 v0, p3
25516 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
25518 + move-result-object v1
25520 + const-string v4, "android_id"
25522 + invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25526 + if-eqz v1, :cond_6e
25528 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
25530 + .catchall {:try_start_41 .. :try_end_5c} :catchall_8b
25531 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_5c} :catch_71
25536 + move-object/from16 v0, p3
25538 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25542 + if-ne v11, v1, :cond_9e
25544 + const-string v1, "PrivacyContentResolver"
25546 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25548 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25552 + return-object v13
25555 + add-int/lit8 v12, v12, 0x1
25560 + move-exception v10
25563 + const-string v1, "PrivacyContentResolver"
25565 + const-string/jumbo v4, "something went wrong while getting blocked permission for android id"
25567 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
25569 + .catchall {:try_start_72 .. :try_end_7a} :catchall_8b
25571 + move-object/from16 v0, p3
25573 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25577 + if-ne v11, v1, :cond_9e
25579 + const-string v1, "PrivacyContentResolver"
25581 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25583 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25588 + move-exception v1
25590 + move-object/from16 v0, p3
25592 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25596 + if-ne v11, v4, :cond_9d
25598 + const-string v1, "PrivacyContentResolver"
25600 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25602 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25610 + const-string v1, "PrivacyContentResolver"
25612 + new-instance v4, Ljava/lang/StringBuilder;
25614 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
25616 + const-string/jumbo v5, "now blocking google access to android id and give fake cursor. forbidden_position: "
25618 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25620 + move-result-object v4
25622 + invoke-virtual {v4, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25624 + move-result-object v4
25626 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25628 + move-result-object v4
25630 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25632 + const-string v14, "[fake]"
25634 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25636 + move-object/from16 v0, p3
25638 + invoke-direct {v13, v0, v11}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;I)V
25640 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25644 + const-string/jumbo v5, "networkInfoSIM"
25648 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25653 + const-string v1, "PrivacyContentResolver"
25655 + const-string v4, "google is allowed to get real cursor"
25657 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25659 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25663 + const-string/jumbo v5, "networkInfoSIM"
25667 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25672 + move-object/from16 v13, p3
25676 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali opd-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
25677 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
25678 +++ opd-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2013-01-09 02:52:41.655525575 -0600
25680 +.class public Landroid/privacy/surrogate/PrivacyCursor;
25681 +.super Ljava/lang/Object;
25682 +.source "PrivacyCursor.java"
25685 +.implements Landroid/database/Cursor;
25689 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
25691 +.field private static final mask:[Ljava/lang/String;
25695 +.field private allowedIdMapping:[I
25697 +.field private allowedIds:[I
25699 +.field private blockedColumnAndroidID:I
25701 +.field private googleCursor:Z
25703 +.field private realCursor:Landroid/database/Cursor;
25707 +.method static constructor <clinit>()V
25710 + const/16 v0, 0x10
25712 + new-array v0, v0, [Ljava/lang/String;
25716 + const-string v2, "0"
25718 + aput-object v2, v0, v1
25722 + const-string v2, "1"
25724 + aput-object v2, v0, v1
25728 + const-string v2, "2"
25730 + aput-object v2, v0, v1
25734 + const-string v2, "3"
25736 + aput-object v2, v0, v1
25740 + const-string v2, "4"
25742 + aput-object v2, v0, v1
25746 + const-string v2, "5"
25748 + aput-object v2, v0, v1
25752 + const-string v2, "6"
25754 + aput-object v2, v0, v1
25758 + const-string v2, "7"
25760 + aput-object v2, v0, v1
25764 + const-string v2, "8"
25766 + aput-object v2, v0, v1
25770 + const-string v2, "9"
25772 + aput-object v2, v0, v1
25776 + const-string v2, "a"
25778 + aput-object v2, v0, v1
25782 + const-string v2, "b"
25784 + aput-object v2, v0, v1
25788 + const-string v2, "c"
25790 + aput-object v2, v0, v1
25794 + const-string v2, "d"
25796 + aput-object v2, v0, v1
25800 + const-string v2, "e"
25802 + aput-object v2, v0, v1
25806 + const-string v2, "f"
25808 + aput-object v2, v0, v1
25810 + sput-object v0, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
25815 +.method public constructor <init>()V
25818 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25823 +.method public constructor <init>(Landroid/database/Cursor;I)V
25826 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25828 + const/16 v0, -0xb
25830 + if-ne p2, v0, :cond_28
25834 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25837 + iput p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
25841 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
25843 + const-string v0, "PrivacyCursor"
25845 + new-instance v1, Ljava/lang/StringBuilder;
25847 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25849 + const-string v2, "constructor is ready for google cursor! forbidden_position: "
25851 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25853 + move-result-object v1
25855 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25857 + move-result-object v1
25859 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25861 + move-result-object v1
25863 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25868 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25873 +.method public constructor <init>(Landroid/database/Cursor;[I)V
25876 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25878 + if-eqz p2, :cond_8
25880 + array-length v2, p2
25882 + if-nez v2, :cond_9
25888 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25890 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
25892 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25894 + if-eqz v2, :cond_3f
25896 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25898 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
25902 + array-length v2, p2
25904 + new-array v2, v2, [I
25906 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25912 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25914 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
25918 + if-eqz v2, :cond_3a
25920 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25922 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
25926 + if-eqz v2, :cond_1d
25928 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25930 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25932 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
25938 + add-int/lit8 v1, v1, 0x1
25943 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25945 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
25951 +.method private getContactId(Landroid/database/Cursor;)I
25954 + const-string v2, "_id"
25956 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
25964 + if-eq v0, v2, :cond_e
25966 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
25974 +.method private getFakeID()Ljava/lang/String;
25978 + new-instance v3, Ljava/util/Random;
25980 + invoke-direct {v3}, Ljava/util/Random;-><init>()V
25982 + const-string v2, ""
25987 + const/16 v4, 0x10
25989 + if-ge v1, v4, :cond_34
25991 + new-instance v4, Ljava/lang/StringBuilder;
25993 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
25995 + invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25997 + move-result-object v4
25999 + sget-object v5, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
26003 + invoke-virtual {v3, v6}, Ljava/util/Random;->nextInt(I)I
26007 + aget-object v5, v5, v6
26009 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26011 + move-result-object v4
26013 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26015 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_26} :catch_2a
26017 + move-result-object v2
26019 + add-int/lit8 v1, v1, 0x1
26024 + move-exception v0
26026 + const-string v4, "PrivacyCursor"
26028 + const-string/jumbo v5, "something went wrong with creating fake ID"
26030 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
26038 +.method private getMappedPos(I)I
26044 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26046 + array-length v1, v1
26048 + if-ge v0, v1, :cond_10
26050 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26054 + if-ne v1, p1, :cond_d
26060 + add-int/lit8 v0, v0, 0x1
26070 +.method private isAllowed(I)Z
26075 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
26077 + array-length v3, v0
26082 + if-ge v2, v3, :cond_c
26086 + if-ne p1, v1, :cond_d
26094 + add-int/lit8 v2, v2, 0x1
26099 +.method private isAllowed(Landroid/database/Cursor;)Z
26102 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
26106 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
26115 +.method public close()V
26118 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26120 + if-eqz v0, :cond_9
26122 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26124 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
26130 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
26133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26135 + if-eqz v0, :cond_9
26137 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26139 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
26145 +.method public deactivate()V
26148 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26150 + if-eqz v0, :cond_9
26152 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26154 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
26160 +.method public getBlob(I)[B
26163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26165 + if-eqz v0, :cond_b
26167 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26169 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
26171 + move-result-object v0
26179 + new-array v0, v0, [B
26184 +.method public getColumnCount()I
26187 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26189 + if-eqz v0, :cond_b
26191 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26193 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
26206 +.method public getColumnIndex(Ljava/lang/String;)I
26209 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26211 + if-eqz v0, :cond_b
26213 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26215 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
26228 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
26230 + .annotation system Ldalvik/annotation/Throws;
26232 + Ljava/lang/IllegalArgumentException;
26236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26238 + if-eqz v0, :cond_b
26240 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26242 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
26255 +.method public getColumnName(I)Ljava/lang/String;
26258 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26260 + if-eqz v0, :cond_b
26262 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26264 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
26266 + move-result-object v0
26272 + const-string v0, ""
26277 +.method public getColumnNames()[Ljava/lang/String;
26280 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26282 + if-eqz v0, :cond_b
26284 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26286 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
26288 + move-result-object v0
26296 + new-array v0, v0, [Ljava/lang/String;
26300 + const-string v2, ""
26302 + aput-object v2, v0, v1
26307 +.method public getCount()I
26310 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26312 + if-eqz v0, :cond_2b
26314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26316 + if-eqz v0, :cond_2b
26318 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26320 + if-nez v0, :cond_2b
26322 + const-string v0, "PrivacyCursor"
26324 + new-instance v1, Ljava/lang/StringBuilder;
26326 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
26328 + const-string v2, "getCount: "
26330 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26332 + move-result-object v1
26334 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26336 + array-length v2, v2
26338 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26340 + move-result-object v1
26342 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26344 + move-result-object v1
26346 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26348 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26350 + array-length v0, v0
26356 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26358 + if-eqz v0, :cond_36
26360 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26362 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
26374 +.method public getDouble(I)D
26377 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26379 + if-eqz v0, :cond_b
26381 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26383 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
26385 + move-result-wide v0
26391 + const-wide/16 v0, 0x0
26396 +.method public getExtras()Landroid/os/Bundle;
26399 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26401 + if-eqz v0, :cond_b
26403 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26405 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
26407 + move-result-object v0
26413 + new-instance v0, Landroid/os/Bundle;
26415 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
26420 +.method public getFloat(I)F
26423 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26425 + if-eqz v0, :cond_b
26427 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26429 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
26442 +.method public getInt(I)I
26445 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26447 + if-eqz v1, :cond_b
26449 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26451 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
26464 +.method public getLong(I)J
26467 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26469 + if-eqz v0, :cond_b
26471 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26473 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
26475 + move-result-wide v0
26481 + const-wide/16 v0, 0x0
26486 +.method public getPosition()I
26489 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26491 + if-eqz v1, :cond_3f
26493 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26495 + if-eqz v1, :cond_3f
26497 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26499 + if-nez v1, :cond_3f
26501 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26503 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26507 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
26511 + const-string v1, "PrivacyCursor"
26513 + new-instance v2, Ljava/lang/StringBuilder;
26515 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
26517 + const-string v3, "getPosition - mapped position: "
26519 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26521 + move-result-object v2
26523 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26525 + move-result-object v2
26527 + const-string v3, " real position: "
26529 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26531 + move-result-object v2
26533 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26535 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
26539 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26541 + move-result-object v2
26543 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26545 + move-result-object v2
26547 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26553 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26555 + if-eqz v1, :cond_4a
26557 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26559 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26571 +.method public getShort(I)S
26574 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26576 + if-eqz v0, :cond_b
26578 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26580 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
26593 +.method public getString(I)Ljava/lang/String;
26596 + iget-boolean v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26598 + if-eqz v4, :cond_63
26602 + if-ne p1, v4, :cond_63
26604 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26606 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
26610 + iget v5, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
26612 + if-ne v4, v5, :cond_63
26614 + const-string v4, "PrivacyCursor"
26616 + const-string v5, "google tries to get android_id with getString()"
26618 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26620 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyCursor;->getFakeID()Ljava/lang/String;
26622 + move-result-object v2
26624 + if-eqz v2, :cond_58
26627 + new-instance v3, Ljava/math/BigInteger;
26629 + const/16 v4, 0x10
26631 + invoke-direct {v3, v2, v4}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
26633 + invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
26635 + move-result-object v1
26637 + const-string v4, "PrivacyCursor"
26639 + new-instance v5, Ljava/lang/StringBuilder;
26641 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
26643 + const-string/jumbo v6, "returned : "
26645 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26647 + move-result-object v5
26649 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26651 + move-result-object v5
26653 + const-string v6, "(String) as fake android id"
26655 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26657 + move-result-object v5
26659 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26661 + move-result-object v5
26663 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26665 + .catch Ljava/lang/Exception; {:try_start_1e .. :try_end_48} :catch_49
26671 + move-exception v0
26673 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
26675 + const-string v4, "PrivacyCursor"
26677 + const-string/jumbo v5, "returned \"\" as android_id"
26679 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26681 + const-string v1, ""
26686 + const-string v4, "PrivacyCursor"
26688 + const-string/jumbo v5, "returned \"\" as android_id"
26690 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26692 + const-string v1, ""
26697 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26699 + if-eqz v4, :cond_6e
26701 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26703 + invoke-interface {v4, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
26705 + move-result-object v1
26710 + const-string v1, ""
26715 +.method public getType(I)I
26718 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26720 + if-eqz v0, :cond_b
26722 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26724 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
26732 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26739 +.method public getWantsAllOnMoveCalls()Z
26742 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26744 + if-eqz v0, :cond_b
26746 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26748 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
26761 +.method public isAfterLast()Z
26764 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26766 + if-eqz v0, :cond_b
26768 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26770 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
26783 +.method public isBeforeFirst()Z
26786 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26788 + if-eqz v0, :cond_b
26790 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26792 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
26805 +.method public isClosed()Z
26808 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26810 + if-eqz v0, :cond_b
26812 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26814 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
26827 +.method public isFirst()Z
26832 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26834 + if-eqz v1, :cond_1b
26836 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26838 + if-eqz v1, :cond_1b
26840 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26842 + if-nez v1, :cond_1b
26844 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26846 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26850 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26854 + if-ne v1, v2, :cond_1a
26863 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26865 + if-eqz v1, :cond_1a
26867 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26869 + invoke-interface {v0}, Landroid/database/Cursor;->isFirst()Z
26876 +.method public isLast()Z
26879 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26881 + if-eqz v0, :cond_1f
26883 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26885 + if-eqz v0, :cond_1f
26887 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26889 + if-nez v0, :cond_1f
26891 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26893 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
26897 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26899 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26901 + array-length v2, v2
26903 + add-int/lit8 v2, v2, -0x1
26907 + if-ne v0, v1, :cond_2a
26915 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26917 + if-eqz v0, :cond_2a
26919 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26921 + invoke-interface {v0}, Landroid/database/Cursor;->isLast()Z
26933 +.method public isNull(I)Z
26936 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26938 + if-eqz v0, :cond_b
26940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26942 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
26955 +.method public move(I)Z
26960 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26962 + if-eqz v3, :cond_3e
26964 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26966 + if-eqz v3, :cond_3e
26968 + iget-boolean v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26970 + if-nez v3, :cond_3e
26972 + const-string v3, "PrivacyCursor"
26974 + new-instance v4, Ljava/lang/StringBuilder;
26976 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
26978 + const-string/jumbo v5, "move - offset: "
26980 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26982 + move-result-object v4
26984 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26986 + move-result-object v4
26988 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26990 + move-result-object v4
26992 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26995 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26997 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26999 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
27003 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
27007 + add-int/2addr v4, p1
27011 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27013 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
27015 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_26 .. :try_end_3a} :catch_3c
27024 + move-exception v0
27029 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27031 + if-eqz v3, :cond_3b
27033 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27035 + invoke-interface {v3, p1}, Landroid/database/Cursor;->move(I)Z
27040 +.method public moveToFirst()Z
27045 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27047 + if-eqz v1, :cond_18
27049 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27051 + if-eqz v1, :cond_18
27053 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27055 + if-nez v1, :cond_18
27057 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27059 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27063 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
27072 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27074 + if-eqz v1, :cond_17
27076 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27078 + invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
27085 +.method public moveToLast()Z
27088 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27090 + if-eqz v1, :cond_1c
27092 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27094 + if-eqz v1, :cond_1c
27096 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27098 + if-nez v1, :cond_1c
27100 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27102 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27104 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27106 + array-length v3, v3
27108 + add-int/lit8 v3, v3, -0x1
27112 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
27120 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27122 + if-eqz v1, :cond_27
27124 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27126 + invoke-interface {v1}, Landroid/database/Cursor;->moveToLast()Z
27138 +.method public moveToNext()Z
27143 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27145 + if-eqz v1, :cond_29
27147 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27149 + if-eqz v1, :cond_29
27151 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27153 + if-nez v1, :cond_29
27155 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27157 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27161 + if-nez v1, :cond_16
27173 + if-ne v0, v1, :cond_15
27175 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27177 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27181 + if-nez v1, :cond_15
27183 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27185 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27192 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27194 + if-eqz v1, :cond_15
27196 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27198 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27205 +.method public moveToPosition(I)Z
27210 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27212 + if-eqz v2, :cond_1a
27214 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27216 + if-eqz v2, :cond_1a
27218 + iget-boolean v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27220 + if-nez v2, :cond_1a
27223 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27225 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27229 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
27231 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_d .. :try_end_16} :catch_18
27240 + move-exception v0
27245 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27247 + if-eqz v2, :cond_17
27249 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27251 + invoke-interface {v2, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
27258 +.method public moveToPrevious()Z
27263 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27265 + if-eqz v1, :cond_29
27267 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27269 + if-eqz v1, :cond_29
27271 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27273 + if-nez v1, :cond_29
27275 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27277 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27281 + if-nez v1, :cond_16
27293 + if-ne v0, v1, :cond_15
27295 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27297 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27301 + if-nez v1, :cond_15
27303 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27305 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27312 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27314 + if-eqz v1, :cond_15
27316 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27318 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27325 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
27328 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27330 + if-eqz v0, :cond_9
27332 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27334 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
27340 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
27343 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27345 + if-eqz v0, :cond_9
27347 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27349 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
27355 +.method public requery()Z
27358 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27360 + if-eqz v0, :cond_b
27362 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27364 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
27377 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27380 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27382 + if-eqz v0, :cond_b
27384 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27386 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27388 + move-result-object v0
27394 + new-instance v0, Landroid/os/Bundle;
27396 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
27401 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27404 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27406 + if-eqz v0, :cond_9
27408 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27410 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27416 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
27419 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27421 + if-eqz v0, :cond_9
27423 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27425 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
27431 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27436 + if-eqz v0, :cond_9
27438 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27440 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27445 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
27446 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
27447 +++ opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2013-01-09 02:52:41.655525575 -0600
27449 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27450 +.super Ljava/lang/Thread;
27451 +.source "PrivacyLocationManager.java"
27455 +.annotation system Ldalvik/annotation/EnclosingClass;
27456 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
27459 +.annotation system Ldalvik/annotation/InnerClass;
27460 + accessFlags = 0x2
27461 + name = "PrivacyLocationUpdater"
27466 +.field private intent:Landroid/app/PendingIntent;
27468 +.field private latitude:D
27470 +.field private listener:Landroid/location/LocationListener;
27472 +.field private longitude:D
27474 +.field private provider:Ljava/lang/String;
27476 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
27480 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
27483 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
27485 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
27487 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27489 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27491 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27493 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
27495 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
27502 +.method public run()V
27505 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27507 + if-eqz v3, :cond_43
27509 + new-instance v2, Landroid/location/Location;
27511 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27513 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
27515 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
27517 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
27519 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
27521 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
27528 + if-ge v1, v3, :cond_43
27530 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27532 + if-eqz v3, :cond_34
27534 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27536 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
27541 + invoke-static {}, Ljava/lang/Math;->random()D
27543 + move-result-wide v3
27545 + const-wide v5, 0x408f400000000000L
27547 + mul-double/2addr v3, v5
27549 + double-to-int v3, v3
27551 + int-to-long v3, v3
27553 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
27555 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
27558 + add-int/lit8 v1, v1, 0x1
27563 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27565 + if-eqz v3, :cond_22
27567 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27569 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
27574 + move-exception v0
27576 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
27583 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
27584 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
27585 +++ opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2013-01-09 02:52:41.659525591 -0600
27587 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
27588 +.super Landroid/location/LocationManager;
27589 +.source "PrivacyLocationManager.java"
27593 +.annotation system Ldalvik/annotation/MemberClasses;
27595 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27601 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
27603 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
27607 +.field private context:Landroid/content/Context;
27609 +.field private lock:Ljava/lang/Object;
27611 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
27615 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
27618 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
27620 + new-instance v0, Ljava/lang/Object;
27622 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
27624 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
27626 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
27628 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
27630 + const-string/jumbo v1, "privacy"
27632 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
27634 + move-result-object v1
27636 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
27638 + move-result-object v1
27640 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
27642 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27647 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27652 + if-nez p1, :cond_5
27660 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
27666 + if-eq v0, v1, :cond_24
27668 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
27672 + if-eq v0, v2, :cond_24
27674 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
27678 + if-eq v0, v2, :cond_24
27680 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
27684 + if-eq v0, v2, :cond_24
27686 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
27690 + if-ne v0, v2, :cond_2b
27693 + const-string v0, "gps"
27695 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27702 + const-string/jumbo v0, "network"
27704 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27711 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27714 + move-object/from16 v0, p0
27716 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
27718 + move-object/from16 v19, v0
27720 + monitor-enter v19
27723 + move-object/from16 v0, p0
27725 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
27727 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
27729 + move-result-object v2
27731 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27735 + move-object/from16 v0, p0
27737 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27739 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
27741 + move-result-object v7
27743 + const/16 v18, 0x0
27745 + if-eqz v7, :cond_239
27747 + const-string v1, "gps"
27749 + move-object/from16 v0, p1
27751 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
27755 + if-eqz v1, :cond_111
27757 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
27761 + packed-switch v1, :pswitch_data_25e
27770 + move-object/from16 v0, p0
27772 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27776 + const-string v5, "locationGPS"
27780 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27785 + move-exception v1
27789 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
27794 + if-eqz p3, :cond_46
27797 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
27800 + const/16 v18, 0x1
27802 + move-object/from16 v0, p0
27804 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27808 + const-string v5, "locationGPS"
27812 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27814 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
27820 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27822 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27824 + move-result-object v1
27826 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27828 + move-result-wide v13
27830 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27832 + move-result-object v1
27834 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27836 + move-result-wide v15
27838 + move-object/from16 v9, p0
27840 + move-object/from16 v10, p1
27842 + move-object/from16 v11, p2
27844 + move-object/from16 v12, p3
27846 + 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
27848 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27850 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
27851 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
27853 + const/16 v18, 0x1
27857 + move-object/from16 v0, p0
27859 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27863 + const-string v5, "locationGPS"
27865 + new-instance v6, Ljava/lang/StringBuilder;
27867 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27869 + const-string v8, "Lat: "
27871 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27873 + move-result-object v6
27875 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27877 + move-result-object v8
27879 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27881 + move-result-object v6
27883 + const-string v8, " Lon: "
27885 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27887 + move-result-object v6
27889 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27891 + move-result-object v8
27893 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27895 + move-result-object v6
27897 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27899 + move-result-object v6
27901 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27906 + move-exception v17
27908 + const-string v1, "PrivacyLocationManager"
27910 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
27912 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27914 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
27916 + const/16 v18, 0x1
27922 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27924 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27926 + move-result-object v1
27928 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27930 + move-result-wide v13
27932 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27934 + move-result-object v1
27936 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27938 + move-result-wide v15
27940 + move-object/from16 v9, p0
27942 + move-object/from16 v10, p1
27944 + move-object/from16 v11, p2
27946 + move-object/from16 v12, p3
27948 + 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
27950 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27952 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
27953 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
27955 + const/16 v18, 0x1
27959 + move-object/from16 v0, p0
27961 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27965 + const-string v5, "locationGPS"
27967 + new-instance v6, Ljava/lang/StringBuilder;
27969 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27971 + const-string v8, "Lat: "
27973 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27975 + move-result-object v6
27977 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27979 + move-result-object v8
27981 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27983 + move-result-object v6
27985 + const-string v8, " Lon: "
27987 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27989 + move-result-object v6
27991 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27993 + move-result-object v8
27995 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27997 + move-result-object v6
27999 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28001 + move-result-object v6
28003 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28008 + move-exception v17
28010 + const-string v1, "PrivacyLocationManager"
28012 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28014 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28016 + const/16 v18, 0x1
28021 + const-string/jumbo v1, "network"
28023 + move-object/from16 v0, p1
28025 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28029 + if-eqz v1, :cond_204
28031 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28035 + packed-switch v1, :pswitch_data_26a
28040 + move-object/from16 v0, p0
28042 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28046 + const-string v5, "locationNetwork"
28050 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28055 + if-eqz p3, :cond_137
28057 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
28060 + const/16 v18, 0x1
28062 + move-object/from16 v0, p0
28064 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28068 + const-string v5, "locationNetwork"
28072 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28074 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
28080 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28082 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28084 + move-result-object v1
28086 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28088 + move-result-wide v13
28090 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28092 + move-result-object v1
28094 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28096 + move-result-wide v15
28098 + move-object/from16 v9, p0
28100 + move-object/from16 v10, p1
28102 + move-object/from16 v11, p2
28104 + move-object/from16 v12, p3
28106 + 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
28108 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28110 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
28111 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
28113 + const/16 v18, 0x1
28117 + move-object/from16 v0, p0
28119 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28123 + const-string v5, "locationNetwork"
28125 + new-instance v6, Ljava/lang/StringBuilder;
28127 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28129 + const-string v8, "Lat: "
28131 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28133 + move-result-object v6
28135 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28137 + move-result-object v8
28139 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28141 + move-result-object v6
28143 + const-string v8, " Lon: "
28145 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28147 + move-result-object v6
28149 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28151 + move-result-object v8
28153 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28155 + move-result-object v6
28157 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28159 + move-result-object v6
28161 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28166 + move-exception v17
28168 + const-string v1, "PrivacyLocationManager"
28170 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28172 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28174 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
28176 + const/16 v18, 0x1
28182 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28184 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28186 + move-result-object v1
28188 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28190 + move-result-wide v13
28192 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28194 + move-result-object v1
28196 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28198 + move-result-wide v15
28200 + move-object/from16 v9, p0
28202 + move-object/from16 v10, p1
28204 + move-object/from16 v11, p2
28206 + move-object/from16 v12, p3
28208 + 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
28210 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28212 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
28213 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
28215 + const/16 v18, 0x1
28219 + move-object/from16 v0, p0
28221 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28225 + const-string v5, "locationNetwork"
28227 + new-instance v6, Ljava/lang/StringBuilder;
28229 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28231 + const-string v8, "Lat: "
28233 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28235 + move-result-object v6
28237 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28239 + move-result-object v8
28241 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28243 + move-result-object v6
28245 + const-string v8, " Lon: "
28247 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28249 + move-result-object v6
28251 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28253 + move-result-object v8
28255 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28257 + move-result-object v6
28259 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28261 + move-result-object v6
28263 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28268 + move-exception v17
28270 + const-string v1, "PrivacyLocationManager"
28272 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28274 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28276 + const/16 v18, 0x1
28281 + const-string/jumbo v1, "passive"
28283 + move-object/from16 v0, p1
28285 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28289 + if-eqz v1, :cond_30
28291 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28295 + if-nez v1, :cond_22a
28297 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28301 + if-nez v1, :cond_22a
28303 + const/16 v18, 0x0
28305 + move-object/from16 v0, p0
28307 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28311 + const-string v5, "locationGPS"
28315 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28320 + const/16 v18, 0x1
28322 + move-object/from16 v0, p0
28324 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28328 + const-string v5, "locationGPS"
28332 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28337 + const-string/jumbo v1, "network"
28339 + move-object/from16 v0, p1
28341 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28345 + if-eqz v1, :cond_251
28347 + move-object/from16 v0, p0
28349 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28353 + const-string v5, "locationNetwork"
28357 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28362 + move-object/from16 v0, p0
28364 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28368 + const-string v5, "locationGPS"
28372 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28374 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
28378 + :pswitch_data_25e
28379 + .packed-switch 0x0
28384 + .end packed-switch
28386 + :pswitch_data_26a
28387 + .packed-switch 0x0
28392 + .end packed-switch
28397 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28404 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28406 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28408 + move-result-object v1
28410 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28414 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28416 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28418 + move-result-object v6
28420 + if-eqz v6, :cond_24
28422 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28426 + if-eqz v0, :cond_24
28428 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28432 + const-string v4, "locationGPS"
28434 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28442 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28444 + const-string v4, "locationGPS"
28448 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28450 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28457 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28470 + if-nez p1, :cond_c
28472 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28474 + move-result-object v7
28481 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28483 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28485 + move-result-object v1
28487 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28491 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28493 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28495 + move-result-object v6
28499 + if-eqz v6, :cond_22c
28501 + const-string v0, "gps"
28503 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28507 + if-eqz v0, :cond_ff
28509 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28513 + packed-switch v0, :pswitch_data_29a
28518 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28520 + move-result-object v7
28522 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28524 + const-string v4, "locationGPS"
28526 + if-eqz v7, :cond_5e
28528 + new-instance v5, Ljava/lang/StringBuilder;
28530 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28532 + const-string v8, "Lat: "
28534 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28536 + move-result-object v5
28538 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28540 + move-result-wide v8
28542 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28544 + move-result-object v5
28546 + const-string v8, " Lon: "
28548 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28550 + move-result-object v5
28552 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28554 + move-result-wide v8
28556 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28558 + move-result-object v5
28560 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28562 + move-result-object v5
28565 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28570 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28572 + const-string v4, "locationGPS"
28576 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28581 + new-instance v7, Landroid/location/Location;
28583 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28585 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28587 + move-result-object v0
28589 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28591 + move-result-wide v3
28593 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28595 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28597 + move-result-object v0
28599 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28601 + move-result-wide v3
28603 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28605 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28607 + const-string v4, "locationGPS"
28609 + new-instance v3, Ljava/lang/StringBuilder;
28611 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28613 + const-string v5, "Lat: "
28615 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28617 + move-result-object v3
28619 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28621 + move-result-wide v8
28623 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28625 + move-result-object v3
28627 + const-string v5, " Lon: "
28629 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28631 + move-result-object v3
28633 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28635 + move-result-wide v8
28637 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28639 + move-result-object v3
28641 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28643 + move-result-object v5
28647 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28652 + new-instance v7, Landroid/location/Location;
28654 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28656 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28658 + move-result-object v0
28660 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28662 + move-result-wide v3
28664 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28666 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28668 + move-result-object v0
28670 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28672 + move-result-wide v3
28674 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28678 + const-string v4, "locationGPS"
28680 + new-instance v3, Ljava/lang/StringBuilder;
28682 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28684 + const-string v5, "Lat: "
28686 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28688 + move-result-object v3
28690 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28692 + move-result-wide v8
28694 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28696 + move-result-object v3
28698 + const-string v5, " Lon: "
28700 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28702 + move-result-object v3
28704 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28706 + move-result-wide v8
28708 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28710 + move-result-object v3
28712 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28714 + move-result-object v5
28718 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28723 + const-string/jumbo v0, "network"
28725 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28729 + if-eqz v0, :cond_1e3
28731 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28735 + packed-switch v0, :pswitch_data_2a6
28740 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28742 + move-result-object v7
28744 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28746 + const-string v4, "locationNetwork"
28748 + if-eqz v7, :cond_140
28750 + new-instance v5, Ljava/lang/StringBuilder;
28752 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28754 + const-string v8, "Lat: "
28756 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28758 + move-result-object v5
28760 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28762 + move-result-wide v8
28764 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28766 + move-result-object v5
28768 + const-string v8, " Lon: "
28770 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28772 + move-result-object v5
28774 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28776 + move-result-wide v8
28778 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28780 + move-result-object v5
28782 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28784 + move-result-object v5
28787 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28792 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28794 + const-string v4, "locationNetwork"
28798 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28803 + new-instance v7, Landroid/location/Location;
28805 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28807 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28809 + move-result-object v0
28811 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28813 + move-result-wide v3
28815 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28817 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28819 + move-result-object v0
28821 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28823 + move-result-wide v3
28825 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28829 + const-string v4, "locationNetwork"
28831 + new-instance v3, Ljava/lang/StringBuilder;
28833 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28835 + const-string v5, "Lat: "
28837 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28839 + move-result-object v3
28841 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28843 + move-result-wide v8
28845 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28847 + move-result-object v3
28849 + const-string v5, " Lon: "
28851 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28853 + move-result-object v3
28855 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28857 + move-result-wide v8
28859 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28861 + move-result-object v3
28863 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28865 + move-result-object v5
28869 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28874 + new-instance v7, Landroid/location/Location;
28876 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28878 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28880 + move-result-object v0
28882 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28884 + move-result-wide v3
28886 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28888 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28890 + move-result-object v0
28892 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28894 + move-result-wide v3
28896 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28898 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28900 + const-string v4, "locationNetwork"
28902 + new-instance v3, Ljava/lang/StringBuilder;
28904 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28906 + const-string v5, "Lat: "
28908 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28910 + move-result-object v3
28912 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28914 + move-result-wide v8
28916 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28918 + move-result-object v3
28920 + const-string v5, " Lon: "
28922 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28924 + move-result-object v3
28926 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28928 + move-result-wide v8
28930 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28932 + move-result-object v3
28934 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28936 + move-result-object v5
28940 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28945 + const-string/jumbo v0, "passive"
28947 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28951 + if-eqz v0, :cond_b
28953 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28957 + if-nez v0, :cond_b
28959 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28963 + if-nez v0, :cond_b
28965 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28967 + move-result-object v7
28969 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28971 + const-string v4, "locationGPS"
28973 + if-eqz v7, :cond_227
28975 + new-instance v5, Ljava/lang/StringBuilder;
28977 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28979 + const-string v8, "Lat: "
28981 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28983 + move-result-object v5
28985 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28987 + move-result-wide v8
28989 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28991 + move-result-object v5
28993 + const-string v8, " Lon: "
28995 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28997 + move-result-object v5
28999 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29001 + move-result-wide v8
29003 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29005 + move-result-object v5
29007 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29009 + move-result-object v5
29012 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29017 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
29019 + move-result-object v7
29021 + const-string/jumbo v0, "network"
29023 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29027 + if-eqz v0, :cond_269
29029 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29031 + const-string v4, "locationNetwork"
29033 + if-eqz v7, :cond_264
29035 + new-instance v5, Ljava/lang/StringBuilder;
29037 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29039 + const-string v8, "Lat: "
29041 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29043 + move-result-object v5
29045 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29047 + move-result-wide v8
29049 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29051 + move-result-object v5
29053 + const-string v8, " Lon: "
29055 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29057 + move-result-object v5
29059 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29061 + move-result-wide v8
29063 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29065 + move-result-object v5
29067 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29069 + move-result-object v5
29072 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29077 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29079 + const-string v4, "locationGPS"
29081 + if-eqz v7, :cond_294
29083 + new-instance v5, Ljava/lang/StringBuilder;
29085 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
29087 + const-string v8, "Lat: "
29089 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29091 + move-result-object v5
29093 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
29095 + move-result-wide v8
29097 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29099 + move-result-object v5
29101 + const-string v8, " Lon: "
29103 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29105 + move-result-object v5
29107 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
29109 + move-result-wide v8
29111 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
29113 + move-result-object v5
29115 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29117 + move-result-object v5
29120 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29126 + :pswitch_data_29a
29127 + .packed-switch 0x0
29132 + .end packed-switch
29134 + :pswitch_data_2a6
29135 + .packed-switch 0x0
29140 + .end packed-switch
29143 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29146 + if-nez p1, :cond_7
29148 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29150 + move-result-object v0
29157 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29159 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29161 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29163 + move-result-object v3
29165 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29169 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29171 + move-result-object v1
29175 + if-eqz v1, :cond_5f
29177 + const-string v2, "gps"
29179 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29183 + if-eqz v2, :cond_2f
29185 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29189 + packed-switch v2, :pswitch_data_64
29195 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29197 + move-result-object v0
29202 + const-string/jumbo v2, "network"
29204 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29208 + if-eqz v2, :cond_45
29210 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29214 + packed-switch v2, :pswitch_data_70
29220 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29222 + move-result-object v0
29227 + const-string/jumbo v2, "passive"
29229 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29233 + if-eqz v2, :cond_6
29235 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29239 + if-eqz v2, :cond_5a
29241 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29245 + if-nez v2, :cond_6
29248 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29250 + move-result-object v0
29255 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29257 + move-result-object v0
29262 + .packed-switch 0x0
29267 + .end packed-switch
29270 + .packed-switch 0x0
29275 + .end packed-switch
29278 +.method public isProviderEnabled(Ljava/lang/String;)Z
29281 + if-nez p1, :cond_7
29283 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29293 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29295 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29297 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29299 + move-result-object v3
29301 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29305 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29307 + move-result-object v1
29311 + if-eqz v1, :cond_65
29313 + const-string v2, "gps"
29315 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29319 + if-eqz v2, :cond_31
29321 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29325 + packed-switch v2, :pswitch_data_6a
29330 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29342 + const-string/jumbo v2, "network"
29344 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29348 + if-eqz v2, :cond_49
29350 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29354 + packed-switch v2, :pswitch_data_76
29359 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29371 + const-string/jumbo v2, "passive"
29373 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29377 + if-eqz v2, :cond_6
29379 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29383 + if-eqz v2, :cond_5e
29385 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29389 + if-nez v2, :cond_63
29392 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29404 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29411 + .packed-switch 0x0
29416 + .end packed-switch
29419 + .packed-switch 0x0
29424 + .end packed-switch
29427 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29430 + if-eqz p4, :cond_4
29432 + if-nez p5, :cond_8
29435 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29444 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29448 + if-nez v0, :cond_7
29450 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29455 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29458 + if-eqz p4, :cond_4
29460 + if-nez p5, :cond_8
29463 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29472 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29476 + if-nez v0, :cond_7
29478 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29483 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29486 + if-eqz p1, :cond_4
29488 + if-nez p5, :cond_8
29491 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29500 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29504 + if-nez v0, :cond_7
29506 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29511 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29514 + if-eqz p1, :cond_4
29516 + if-nez p5, :cond_8
29519 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29528 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29532 + if-nez v0, :cond_7
29534 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29539 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29542 + if-eqz p1, :cond_4
29544 + if-nez p5, :cond_8
29547 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29556 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29560 + if-nez v0, :cond_7
29562 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29567 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29570 + if-eqz p1, :cond_4
29572 + if-nez p2, :cond_8
29575 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29584 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29588 + if-nez v0, :cond_7
29590 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29595 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29598 + if-eqz p1, :cond_4
29600 + if-nez p2, :cond_8
29603 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29612 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29616 + if-nez v0, :cond_7
29618 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29623 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29626 + if-eqz p1, :cond_4
29628 + if-nez p2, :cond_8
29631 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29640 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29644 + if-nez v0, :cond_7
29646 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29651 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29654 + if-eqz p1, :cond_4
29656 + if-nez p2, :cond_8
29659 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29668 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29672 + if-nez v0, :cond_7
29674 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29678 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
29679 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
29680 +++ opd-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2013-01-09 02:52:41.663525610 -0600
29682 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
29683 +.super Landroid/telephony/TelephonyManager;
29684 +.source "PrivacyTelephonyManager.java"
29688 +.field private static final NETWORK_TYPES:[I = null
29690 +.field private static final PHONE_TYPES:[I = null
29692 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
29696 +.field private context:Landroid/content/Context;
29698 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
29702 +.method static constructor <clinit>()V
29707 + new-array v0, v0, [I
29709 + fill-array-data v0, :array_12
29711 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
29713 + const/16 v0, 0x10
29715 + new-array v0, v0, [I
29717 + fill-array-data v0, :array_1e
29719 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
29725 + 0x0t 0x0t 0x0t 0x0t
29726 + 0x1t 0x0t 0x0t 0x0t
29727 + 0x2t 0x0t 0x0t 0x0t
29728 + 0x3t 0x0t 0x0t 0x0t
29733 + 0x0t 0x0t 0x0t 0x0t
29734 + 0x1t 0x0t 0x0t 0x0t
29735 + 0x2t 0x0t 0x0t 0x0t
29736 + 0x3t 0x0t 0x0t 0x0t
29737 + 0x4t 0x0t 0x0t 0x0t
29738 + 0x5t 0x0t 0x0t 0x0t
29739 + 0x6t 0x0t 0x0t 0x0t
29740 + 0x7t 0x0t 0x0t 0x0t
29741 + 0x8t 0x0t 0x0t 0x0t
29742 + 0x9t 0x0t 0x0t 0x0t
29743 + 0xat 0x0t 0x0t 0x0t
29744 + 0xbt 0x0t 0x0t 0x0t
29745 + 0xct 0x0t 0x0t 0x0t
29746 + 0xdt 0x0t 0x0t 0x0t
29747 + 0xet 0x0t 0x0t 0x0t
29748 + 0xft 0x0t 0x0t 0x0t
29752 +.method public constructor <init>(Landroid/content/Context;)V
29755 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
29757 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29759 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
29761 + const-string/jumbo v1, "privacy"
29763 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
29765 + move-result-object v1
29767 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
29769 + move-result-object v1
29771 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
29773 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29778 +.method private getNetworkInfo()Ljava/lang/String;
29783 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29785 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29787 + move-result-object v1
29789 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29793 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29795 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29797 + move-result-object v6
29799 + if-eqz v6, :cond_25
29801 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
29805 + if-eqz v0, :cond_25
29807 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29811 + const-string/jumbo v4, "networkInfoCurrent"
29813 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29815 + const-string v5, ""
29821 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29825 + const-string/jumbo v4, "networkInfoCurrent"
29827 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29832 +.method private getSimInfo()Ljava/lang/String;
29837 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29839 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29841 + move-result-object v1
29843 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29847 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29849 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29851 + move-result-object v6
29853 + if-eqz v6, :cond_25
29855 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
29859 + if-eqz v0, :cond_25
29861 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29865 + const-string/jumbo v4, "networkInfoSIM"
29867 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29869 + const-string v5, ""
29875 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29879 + const-string/jumbo v4, "networkInfoSIM"
29881 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29888 +.method public getAllCellInfo()Ljava/util/List;
29890 + .annotation system Ldalvik/annotation/Signature;
29893 + "Ljava/util/List",
29895 + "Landroid/telephony/CellInfo;",
29900 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29902 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29904 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29906 + move-result-object v3
29908 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29912 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29914 + move-result-object v1
29918 + if-eqz v1, :cond_1f
29920 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29926 + if-ne v2, v3, :cond_20
29928 + new-instance v0, Ljava/util/ArrayList;
29930 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
29937 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29941 + if-eqz v2, :cond_2c
29943 + new-instance v0, Ljava/util/ArrayList;
29945 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
29950 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
29952 + move-result-object v0
29957 +.method public getCellLocation()Landroid/telephony/CellLocation;
29963 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29965 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29967 + move-result-object v1
29969 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29973 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29975 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29977 + move-result-object v6
29979 + if-eqz v6, :cond_2c
29981 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29985 + if-nez v0, :cond_1f
29987 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29991 + if-eqz v0, :cond_2c
29994 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29996 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30000 + const-string v4, "locationNetwork"
30004 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30010 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30012 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30016 + const-string v4, "locationNetwork"
30020 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30022 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
30024 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_3b} :catch_3d
30026 + move-result-object v7
30031 + move-exception v8
30036 +.method public getCompleteVoiceMailNumber()Ljava/lang/String;
30040 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30042 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30044 + move-result-object v1
30046 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30050 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30052 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30054 + move-result-object v6
30056 + const-string v5, ""
30058 + if-eqz v6, :cond_2a
30060 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30064 + if-eqz v0, :cond_2a
30066 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30068 + move-result-object v5
30070 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30072 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30076 + const-string v4, "line1Number"
30078 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30084 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber()Ljava/lang/String;
30086 + move-result-object v5
30088 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30092 + const-string v4, "line1Number"
30094 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30096 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
30101 + move-exception v7
30108 +.method public getDeviceId()Ljava/lang/String;
30111 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30113 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30115 + move-result-object v1
30117 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30121 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30123 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30125 + move-result-object v6
30127 + if-eqz v6, :cond_28
30129 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30133 + if-eqz v0, :cond_28
30135 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
30137 + move-result-object v5
30139 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30141 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30145 + const-string v4, "deviceID"
30147 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30153 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
30155 + move-result-object v5
30157 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30161 + const-string v4, "deviceID"
30163 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30168 +.method public getDeviceSoftwareVersion()Ljava/lang/String;
30172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30174 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30176 + move-result-object v1
30178 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30182 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30184 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30186 + move-result-object v6
30188 + const-string v5, ""
30190 + if-eqz v6, :cond_2a
30192 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30196 + if-eqz v0, :cond_2a
30198 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
30200 + move-result-object v5
30202 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30204 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30208 + const-string v4, "deviceID"
30210 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30216 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceSoftwareVersion()Ljava/lang/String;
30218 + move-result-object v5
30220 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30224 + const-string v4, "deviceID"
30226 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30228 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
30233 + move-exception v7
30240 +.method public getIsimDomain()Ljava/lang/String;
30243 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30245 + move-result-object v0
30250 +.method public getIsimImpi()Ljava/lang/String;
30253 + const-string v0, "PrivacyTelephonyManager"
30255 + new-instance v1, Ljava/lang/StringBuilder;
30257 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30259 + const-string v2, "getIsimImpi - "
30261 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30263 + move-result-object v1
30265 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30267 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30269 + move-result-object v2
30271 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30273 + move-result-object v1
30275 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30277 + move-result-object v1
30279 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30281 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30283 + move-result-object v0
30288 +.method public getIsimImpu()[Ljava/lang/String;
30293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30295 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30297 + move-result-object v1
30299 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30303 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30305 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30307 + move-result-object v6
30309 + const-string v0, "PrivacyTelephonyManager"
30311 + new-instance v3, Ljava/lang/StringBuilder;
30313 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30315 + const-string v4, "getIsimImpu() - "
30317 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30319 + move-result-object v3
30321 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30323 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30325 + move-result-object v4
30327 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30329 + move-result-object v3
30331 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30333 + move-result-object v3
30335 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30339 + new-array v7, v0, [Ljava/lang/String;
30341 + if-eqz v6, :cond_4f
30343 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30347 + if-eqz v0, :cond_4f
30349 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30351 + move-result-object v0
30353 + aput-object v0, v7, v8
30355 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30357 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30361 + const-string/jumbo v4, "subscriberID"
30363 + aget-object v5, v7, v8
30365 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30371 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
30373 + move-result-object v7
30375 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30377 + const-string/jumbo v4, "subscriberID"
30379 + aget-object v5, v7, v8
30383 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30388 +.method public getLine1AlphaTag()Ljava/lang/String;
30391 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getLine1Number()Ljava/lang/String;
30393 + move-result-object v0
30398 +.method public getLine1Number()Ljava/lang/String;
30401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30403 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30405 + move-result-object v1
30407 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30411 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30413 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30415 + move-result-object v6
30417 + if-eqz v6, :cond_28
30419 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30423 + if-eqz v0, :cond_28
30425 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30427 + move-result-object v5
30429 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30431 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30435 + const-string v4, "line1Number"
30437 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30443 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
30445 + move-result-object v5
30447 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30451 + const-string v4, "line1Number"
30453 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30458 +.method public getMsisdn()Ljava/lang/String;
30461 + const-string v0, "PrivacyTelephonyManager"
30463 + new-instance v1, Ljava/lang/StringBuilder;
30465 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30467 + const-string v2, "getMsisdn() - "
30469 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30471 + move-result-object v1
30473 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30475 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30477 + move-result-object v2
30479 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30481 + move-result-object v1
30483 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30485 + move-result-object v1
30487 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30489 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30491 + move-result-object v0
30496 +.method public getNeighboringCellInfo()Ljava/util/List;
30498 + .annotation system Ldalvik/annotation/Signature;
30501 + "Ljava/util/List",
30503 + "Landroid/telephony/NeighboringCellInfo;",
30508 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30510 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30512 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30514 + move-result-object v7
30516 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30520 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30522 + move-result-object v5
30526 + const-string v4, "[null]"
30528 + if-eqz v5, :cond_1c
30530 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30536 + if-ne v6, v7, :cond_1d
30543 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30547 + if-eqz v6, :cond_2b
30549 + new-instance v3, Ljava/util/ArrayList;
30551 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
30553 + const-string v4, "[empty list of cells]"
30558 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
30560 + move-result-object v3
30562 + const-string v0, ""
30564 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
30566 + move-result-object v2
30569 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
30573 + if-eqz v6, :cond_5f
30575 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
30577 + move-result-object v1
30579 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
30581 + new-instance v6, Ljava/lang/StringBuilder;
30583 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30585 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30587 + move-result-object v6
30589 + const-string v7, "\t"
30591 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30593 + move-result-object v6
30595 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30597 + move-result-object v6
30599 + const-string v7, "\n"
30601 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30603 + move-result-object v6
30605 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30607 + move-result-object v0
30612 + new-instance v6, Ljava/lang/StringBuilder;
30614 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30616 + const-string v7, "[real value]:\n"
30618 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30620 + move-result-object v6
30622 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30624 + move-result-object v6
30626 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30628 + move-result-object v4
30633 +.method public getNetworkCountryIso()Ljava/lang/String;
30636 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30638 + move-result-object v0
30640 + if-nez v0, :cond_a
30642 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
30644 + move-result-object v0
30650 +.method public getNetworkOperator()Ljava/lang/String;
30653 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30655 + move-result-object v0
30657 + if-nez v0, :cond_a
30659 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
30661 + move-result-object v0
30667 +.method public getNetworkOperatorName()Ljava/lang/String;
30670 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30672 + move-result-object v0
30674 + if-nez v0, :cond_a
30676 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30678 + move-result-object v0
30684 +.method public getNetworkType()I
30690 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30692 + move-result-object v1
30694 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30700 + if-nez v1, :cond_10
30702 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
30704 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_f} :catch_11
30713 + move-exception v0
30715 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30722 +.method public getPhoneType()I
30725 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30727 + move-result-object v0
30729 + sget-object v2, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
30735 + if-nez v0, :cond_f
30737 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getPhoneType()I
30745 +.method public getSimCountryIso()Ljava/lang/String;
30748 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30750 + move-result-object v0
30752 + if-nez v0, :cond_a
30754 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
30756 + move-result-object v0
30762 +.method public getSimOperator()Ljava/lang/String;
30765 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30767 + move-result-object v0
30769 + if-nez v0, :cond_a
30771 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
30773 + move-result-object v0
30779 +.method public getSimOperatorName()Ljava/lang/String;
30782 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30784 + move-result-object v0
30786 + if-nez v0, :cond_a
30788 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
30790 + move-result-object v0
30796 +.method public getSimSerialNumber()Ljava/lang/String;
30799 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30801 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30803 + move-result-object v1
30805 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30809 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30811 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30813 + move-result-object v6
30815 + if-eqz v6, :cond_29
30817 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
30821 + if-eqz v0, :cond_29
30823 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
30825 + move-result-object v5
30827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30829 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
30833 + const-string/jumbo v4, "simSerial"
30835 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30841 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
30843 + move-result-object v5
30845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30849 + const-string/jumbo v4, "simSerial"
30851 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30856 +.method public getSubscriberId()Ljava/lang/String;
30859 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30861 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30863 + move-result-object v1
30865 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30869 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30871 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30873 + move-result-object v6
30875 + const-string v0, "PrivacyTelephonyManager"
30877 + new-instance v3, Ljava/lang/StringBuilder;
30879 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30881 + const-string v4, "getSubscriberId() - "
30883 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30885 + move-result-object v3
30887 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30889 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30891 + move-result-object v4
30893 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30895 + move-result-object v3
30897 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30899 + move-result-object v3
30901 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30903 + if-eqz v6, :cond_47
30905 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30909 + if-eqz v0, :cond_47
30911 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30913 + move-result-object v5
30915 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30917 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30921 + const-string/jumbo v4, "subscriberID"
30923 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30929 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
30931 + move-result-object v5
30933 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30937 + const-string/jumbo v4, "subscriberID"
30939 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30944 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
30947 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
30949 + move-result-object v0
30954 +.method public getVoiceMailNumber()Ljava/lang/String;
30957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30959 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30961 + move-result-object v1
30963 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30967 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30969 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30971 + move-result-object v6
30973 + if-eqz v6, :cond_28
30975 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30979 + if-eqz v0, :cond_28
30981 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30983 + move-result-object v5
30985 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30987 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30991 + const-string v4, "line1Number"
30993 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30999 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
31001 + move-result-object v5
31003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31007 + const-string v4, "line1Number"
31009 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31014 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
31017 + and-int/lit8 v1, p2, 0x10
31019 + if-nez v1, :cond_8
31021 + and-int/lit8 v1, p2, 0x20
31023 + if-eqz v1, :cond_29
31026 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31028 + if-eqz v1, :cond_27
31030 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31032 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31034 + move-result-object v0
31037 + if-eqz v0, :cond_1c
31039 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
31041 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
31043 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
31046 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31050 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setUid(I)V
31052 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
31063 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
31067 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali
31068 --- stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 1969-12-31 18:00:00.000000000 -0600
31069 +++ opd-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 2013-01-09 02:52:41.667525634 -0600
31071 +.class public Landroid/privacy/surrogate/PrivacyWifiManager;
31072 +.super Landroid/net/wifi/WifiManager;
31073 +.source "PrivacyWifiManager.java"
31077 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyWifiManager"
31081 +.field private context:Landroid/content/Context;
31083 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
31087 +.method public constructor <init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
31090 + invoke-direct {p0, p1, p2}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
31092 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31094 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
31096 + const-string/jumbo v1, "privacy"
31098 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
31100 + move-result-object v1
31102 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
31104 + move-result-object v1
31106 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
31108 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31115 +.method public getConfigFile()Ljava/lang/String;
31122 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31124 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31126 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31128 + move-result-object v1
31130 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31134 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31136 + move-result-object v7
31138 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31140 + if-eqz v0, :cond_31
31142 + if-eqz v7, :cond_31
31144 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31148 + if-eqz v0, :cond_31
31150 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31152 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31154 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31156 + move-result-object v1
31160 + const-string/jumbo v4, "wifiInfo"
31162 + move-object v6, v5
31164 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31166 + const-string v0, ""
31172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31174 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31176 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31178 + move-result-object v1
31182 + const-string/jumbo v4, "wifiInfo"
31184 + move-object v6, v5
31186 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31188 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfigFile()Ljava/lang/String;
31190 + move-result-object v0
31195 +.method public getConfiguredNetworks()Ljava/util/List;
31197 + .annotation system Ldalvik/annotation/Signature;
31200 + "Ljava/util/List",
31202 + "Landroid/net/wifi/WifiConfiguration;",
31211 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31213 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31215 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31217 + move-result-object v1
31219 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31223 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31225 + move-result-object v8
31227 + new-instance v7, Ljava/util/ArrayList;
31229 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31233 + if-eqz v0, :cond_34
31235 + if-eqz v8, :cond_34
31237 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31241 + if-eqz v0, :cond_34
31243 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31245 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31247 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31249 + move-result-object v1
31253 + const-string/jumbo v4, "wifiInfo"
31255 + move-object v6, v5
31257 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31263 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31265 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31267 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31269 + move-result-object v1
31273 + const-string/jumbo v4, "wifiInfo"
31275 + move-object v6, v5
31277 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31279 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
31281 + move-result-object v7
31286 +.method public getConnectionInfo()Landroid/net/wifi/WifiInfo;
31295 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31297 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31299 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31301 + move-result-object v1
31303 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31307 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31309 + move-result-object v8
31311 + new-instance v7, Landroid/net/wifi/WifiInfo;
31313 + invoke-direct {v7, v3}, Landroid/net/wifi/WifiInfo;-><init>(Z)V
31315 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31317 + if-eqz v0, :cond_34
31319 + if-eqz v8, :cond_34
31321 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31325 + if-eqz v0, :cond_34
31327 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31329 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31331 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31333 + move-result-object v1
31335 + const-string/jumbo v4, "wifiInfo"
31337 + move-object v6, v5
31339 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31345 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31347 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31349 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31351 + move-result-object v1
31355 + const-string/jumbo v4, "wifiInfo"
31357 + move-object v6, v5
31359 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31361 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
31363 + move-result-object v7
31368 +.method public getDhcpInfo()Landroid/net/DhcpInfo;
31375 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31377 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31379 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31381 + move-result-object v1
31383 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31387 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31389 + move-result-object v7
31391 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31393 + if-eqz v0, :cond_34
31395 + if-eqz v7, :cond_34
31397 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31401 + if-eqz v0, :cond_34
31403 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31405 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31407 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31409 + move-result-object v1
31413 + const-string/jumbo v4, "wifiInfo"
31415 + move-object v6, v5
31417 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31419 + new-instance v0, Landroid/net/DhcpInfo;
31421 + invoke-direct {v0}, Landroid/net/DhcpInfo;-><init>()V
31427 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31429 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31431 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31433 + move-result-object v1
31437 + const-string/jumbo v4, "wifiInfo"
31439 + move-object v6, v5
31441 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31443 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
31445 + move-result-object v0
31450 +.method public getFrequencyBand()I
31457 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31459 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31461 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31463 + move-result-object v1
31465 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31469 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31471 + move-result-object v7
31473 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31475 + if-eqz v0, :cond_2f
31477 + if-eqz v7, :cond_2f
31479 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31483 + if-eqz v0, :cond_2f
31485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31487 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31489 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31491 + move-result-object v1
31495 + const-string/jumbo v4, "wifiInfo"
31497 + move-object v6, v5
31499 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31505 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31507 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31509 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31511 + move-result-object v1
31515 + const-string/jumbo v4, "wifiInfo"
31517 + move-object v6, v5
31519 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31521 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getFrequencyBand()I
31528 +.method public getScanResults()Ljava/util/List;
31530 + .annotation system Ldalvik/annotation/Signature;
31533 + "Ljava/util/List",
31535 + "Landroid/net/wifi/ScanResult;",
31544 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31546 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31548 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31550 + move-result-object v1
31552 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31556 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31558 + move-result-object v8
31560 + new-instance v7, Ljava/util/ArrayList;
31562 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31564 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31566 + if-eqz v0, :cond_34
31568 + if-eqz v8, :cond_34
31570 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31574 + if-eqz v0, :cond_34
31576 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31578 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31580 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31582 + move-result-object v1
31586 + const-string/jumbo v4, "wifiInfo"
31588 + move-object v6, v5
31590 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31596 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31598 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31600 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31602 + move-result-object v1
31606 + const-string/jumbo v4, "wifiInfo"
31608 + move-object v6, v5
31610 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31612 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
31614 + move-result-object v7
31619 +.method public getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
31626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31628 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31630 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31632 + move-result-object v1
31634 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31638 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31640 + move-result-object v7
31642 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31644 + if-eqz v0, :cond_34
31646 + if-eqz v7, :cond_34
31648 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31652 + if-eqz v0, :cond_34
31654 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31656 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31658 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31660 + move-result-object v1
31664 + const-string/jumbo v4, "wifiInfo"
31666 + move-object v6, v5
31668 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31670 + new-instance v0, Landroid/net/wifi/WifiConfiguration;
31672 + invoke-direct {v0}, Landroid/net/wifi/WifiConfiguration;-><init>()V
31678 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31680 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31682 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31684 + move-result-object v1
31688 + const-string/jumbo v4, "wifiInfo"
31690 + move-object v6, v5
31692 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31694 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
31696 + move-result-object v0
31701 +.method public getWifiState()I
31710 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31712 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31714 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31716 + move-result-object v1
31718 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31722 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31724 + move-result-object v7
31726 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31728 + if-eqz v0, :cond_30
31730 + if-eqz v7, :cond_30
31732 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
31736 + if-nez v0, :cond_30
31738 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31740 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31742 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31744 + move-result-object v1
31746 + const-string/jumbo v4, "wifiInfo"
31748 + move-object v6, v5
31750 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31758 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31760 + if-eqz v0, :cond_4d
31762 + if-eqz v7, :cond_4d
31764 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31768 + if-eqz v0, :cond_4d
31770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31772 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31774 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31776 + move-result-object v1
31778 + const-string/jumbo v4, "wifiInfo"
31780 + move-object v6, v5
31782 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31791 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31793 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31795 + move-result-object v1
31799 + const-string/jumbo v4, "wifiInfo"
31801 + move-object v6, v5
31803 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31805 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiState()I
31812 +.method public isWifiEnabled()Z
31823 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31825 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31827 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31829 + move-result-object v1
31831 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31835 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31837 + move-result-object v7
31839 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31841 + if-eqz v0, :cond_30
31843 + if-eqz v7, :cond_30
31845 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
31849 + if-nez v0, :cond_30
31851 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31853 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31855 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31857 + move-result-object v1
31859 + const-string/jumbo v4, "wifiInfo"
31861 + move-object v6, v5
31863 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31869 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31871 + if-eqz v0, :cond_4d
31873 + if-eqz v7, :cond_4d
31875 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31879 + if-eqz v0, :cond_4d
31881 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31883 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31885 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31887 + move-result-object v1
31889 + const-string/jumbo v4, "wifiInfo"
31891 + move-object v6, v5
31893 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31900 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31902 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31904 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31906 + move-result-object v1
31908 + const-string/jumbo v4, "wifiInfo"
31912 + move-object v6, v5
31914 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31916 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->isWifiEnabled()Z
31923 +.method public setWifiEnabled(Z)Z
31932 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31934 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31936 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31938 + move-result-object v1
31940 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31944 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31946 + move-result-object v7
31948 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31950 + if-eqz v0, :cond_31
31952 + if-eqz v7, :cond_31
31954 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
31958 + if-eqz v0, :cond_31
31960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31962 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31964 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31966 + move-result-object v1
31970 + const-string/jumbo v4, "switchWifiState"
31972 + move-object v6, v5
31974 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31982 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31984 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31986 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31988 + move-result-object v1
31990 + const-string/jumbo v4, "switchWifiState"
31994 + move-object v6, v5
31996 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31998 + invoke-super {p0, p1}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
32005 +.method public startScan()Z
32014 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32016 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32018 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32020 + move-result-object v1
32022 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32026 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32028 + move-result-object v7
32030 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32032 + if-eqz v0, :cond_31
32034 + if-eqz v7, :cond_31
32036 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32040 + if-eqz v0, :cond_31
32042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32044 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32046 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32048 + move-result-object v1
32052 + const-string/jumbo v4, "wifiInfo"
32054 + move-object v6, v5
32056 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32064 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32066 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32068 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32070 + move-result-object v1
32072 + const-string/jumbo v4, "wifiInfo"
32076 + move-object v6, v5
32078 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32080 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScan()Z
32087 +.method public startScanActive()Z
32096 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32098 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32100 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32102 + move-result-object v1
32104 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32108 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32110 + move-result-object v7
32112 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32114 + if-eqz v0, :cond_31
32116 + if-eqz v7, :cond_31
32118 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
32122 + if-eqz v0, :cond_31
32124 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32126 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32128 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32130 + move-result-object v1
32134 + const-string/jumbo v4, "wifiInfo"
32136 + move-object v6, v5
32138 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32148 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32150 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32152 + move-result-object v1
32154 + const-string/jumbo v4, "wifiInfo"
32158 + move-object v6, v5
32160 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32162 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScanActive()Z
32168 diff -Npru stock-framework/smali/android/provider/Settings$Secure.smali opd-framework/smali/android/provider/Settings$Secure.smali
32169 --- stock-framework/smali/android/provider/Settings$Secure.smali 2013-01-09 02:53:02.091626905 -0600
32170 +++ opd-framework/smali/android/provider/Settings$Secure.smali 2013-01-09 02:52:41.831526444 -0600
32171 @@ -196,6 +196,8 @@
32173 .field public static final PREFERRED_TTY_MODE:Ljava/lang/String; = "preferred_tty_mode"
32175 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,SecureSettings"
32177 .field public static final SCREENSAVER_ACTIVATE_ON_DOCK:Ljava/lang/String; = "screensaver_activate_on_dock"
32179 .field public static final SCREENSAVER_ACTIVATE_ON_SLEEP:Ljava/lang/String; = "screensaver_activate_on_sleep"
32180 @@ -405,6 +407,14 @@
32184 +.field private static context:Landroid/content/Context;
32186 +.field private static mPm:Landroid/content/pm/IPackageManager;
32188 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
32190 +.field private static privacyMode:Z
32192 .field private static sIsSystemProcess:Z
32194 .field private static sLockSettings:Lcom/android/internal/widget/ILockSettings;
32195 @@ -414,9 +424,11 @@
32198 .method static constructor <clinit>()V
32207 const-string v0, "content://settings/secure"
32209 @@ -446,7 +458,7 @@
32211 new-instance v0, Ljava/util/HashSet;
32213 - invoke-direct {v0, v5}, Ljava/util/HashSet;-><init>(I)V
32214 + invoke-direct {v0, v6}, Ljava/util/HashSet;-><init>(I)V
32216 sput-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32218 @@ -1188,15 +1200,15 @@
32220 invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
32222 + sput-boolean v5, Landroid/provider/Settings$Secure;->privacyMode:Z
32226 new-array v0, v0, [Ljava/lang/String;
32230 - const-string v2, "bugreport_in_power_menu"
32231 + const-string v1, "bugreport_in_power_menu"
32233 - aput-object v2, v0, v1
32234 + aput-object v1, v0, v5
32238 @@ -1212,7 +1224,7 @@
32240 const-string/jumbo v1, "parental_control_redirect_url"
32242 - aput-object v1, v0, v5
32243 + aput-object v1, v0, v6
32247 @@ -1705,6 +1717,70 @@
32251 +.method private static getPackageName()[Ljava/lang/String;
32255 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32257 + if-eqz v3, :cond_f
32259 + invoke-static {}, Landroid/os/Process;->myUid()I
32263 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32265 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32267 + move-result-object v1
32273 + const-string/jumbo v3, "package"
32275 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32277 + move-result-object v3
32279 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32281 + move-result-object v3
32283 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32285 + invoke-static {}, Landroid/os/Process;->myUid()I
32289 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32291 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32293 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
32295 + move-result-object v1
32300 + move-exception v0
32302 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32304 + const-string v3, "PM,SecureSettings"
32306 + const-string/jumbo v4, "something went wrong with getting package name"
32308 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32315 .method public static getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
32318 @@ -1720,152 +1796,392 @@
32321 .method public static getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32325 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32326 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32328 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32329 + move-object/from16 v0, p1
32332 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32334 - if-eqz v0, :cond_31
32337 - const-string v0, "Settings"
32338 + if-eqz v3, :cond_35
32340 - new-instance v1, Ljava/lang/StringBuilder;
32341 + const-string v3, "Settings"
32343 - invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32344 + new-instance v4, Ljava/lang/StringBuilder;
32346 - const-string v2, "Setting "
32347 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
32349 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32350 + const-string v5, "Setting "
32352 - move-result-object v1
32353 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32355 - invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32356 + move-result-object v4
32358 - move-result-object v1
32359 + move-object/from16 v0, p1
32361 - const-string v2, " has moved from android.provider.Settings.Secure"
32362 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32364 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32365 + move-result-object v4
32367 - move-result-object v1
32368 + const-string v5, " has moved from android.provider.Settings.Secure"
32370 - const-string v2, " to android.provider.Settings.Global."
32371 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32373 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32374 + move-result-object v4
32376 - move-result-object v1
32377 + const-string v5, " to android.provider.Settings.Global."
32379 - invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32380 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32382 - move-result-object v1
32383 + move-result-object v4
32385 - invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32386 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32388 - invoke-static {p0, p1, p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32389 + move-result-object v4
32391 - move-result-object v0
32392 + invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32396 + invoke-static/range {p0 .. p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32399 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32400 + move-result-object v8
32402 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32408 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32410 - if-eqz v0, :cond_6f
32411 + move-object/from16 v0, p1
32413 - const-class v1, Landroid/provider/Settings$Secure;
32414 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32420 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32421 + if-eqz v3, :cond_79
32423 - if-nez v0, :cond_57
32424 + const-class v4, Landroid/provider/Settings$Secure;
32426 - const-string v0, "lock_settings"
32429 - invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32431 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32433 - move-result-object v0
32434 + if-nez v3, :cond_5d
32436 - invoke-static {v0}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32437 + const-string v3, "lock_settings"
32439 - move-result-object v0
32440 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32442 - sput-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32443 + move-result-object v3
32445 + invoke-static {v3}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32447 + move-result-object v3
32449 + sput-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32451 invoke-static {}, Landroid/os/Process;->myUid()I
32456 - const/16 v2, 0x3e8
32457 + const/16 v5, 0x3e8
32459 - if-ne v0, v2, :cond_69
32460 + if-ne v3, v5, :cond_73
32466 - sput-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32468 + sput-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32473 - .catchall {:try_start_3c .. :try_end_58} :catchall_6b
32477 + .catchall {:try_start_42 .. :try_end_5e} :catchall_75
32479 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32480 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32482 - if-eqz v0, :cond_6f
32483 + if-eqz v3, :cond_79
32485 - sget-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32486 + sget-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32488 - if-nez v0, :cond_6f
32489 + if-nez v3, :cond_79
32492 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32494 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32496 - const-string v1, "0"
32497 + const-string v4, "0"
32499 - invoke-interface {v0, p1, v1, p2}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32501 - .catch Landroid/os/RemoteException; {:try_start_60 .. :try_end_67} :catch_6e
32502 + move-object/from16 v0, p1
32504 - move-result-object v0
32505 + move/from16 v1, p2
32508 + invoke-interface {v3, v0, v4, v1}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32510 + .catch Landroid/os/RemoteException; {:try_start_66 .. :try_end_71} :catch_78
32514 + move-result-object v8
32520 - move-exception v0
32527 - .catchall {:try_start_6c .. :try_end_6d} :catchall_6b
32532 + move-exception v3
32535 - move-exception v0
32539 + .catchall {:try_start_76 .. :try_end_77} :catchall_75
32542 - sget-object v0, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32545 - invoke-virtual {v0, p0, p1, p2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32547 + move-exception v3
32549 - move-result-object v0
32551 + const-string v3, "android_id"
32553 + move-object/from16 v0, p1
32555 + invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32559 + if-eqz v3, :cond_f7
32561 + invoke-static {}, Landroid/provider/Settings$Secure;->initiate()V
32564 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32566 + if-nez v3, :cond_9e
32568 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
32570 + sget-object v4, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32572 + const-string/jumbo v5, "privacy"
32574 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32576 + move-result-object v5
32578 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32580 + move-result-object v5
32582 + invoke-direct {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32584 + sput-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32587 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32589 + if-nez v3, :cond_af
32591 + const-string/jumbo v3, "package"
32593 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32595 + move-result-object v3
32597 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32599 + move-result-object v3
32601 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32604 + const/16 v19, 0x0
32606 + invoke-static {}, Landroid/provider/Settings$Secure;->getPackageName()[Ljava/lang/String;
32608 + move-result-object v18
32610 + if-eqz v18, :cond_13c
32612 + move-object/from16 v0, v18
32614 + array-length v3, v0
32616 + if-lez v3, :cond_13c
32619 + const/16 v17, 0x0
32622 + move-object/from16 v0, v18
32624 + array-length v3, v0
32626 + move/from16 v0, v17
32628 + if-ge v0, v3, :cond_f7
32630 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32632 + aget-object v4, v18, v17
32634 + invoke-virtual {v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
32636 + move-result-object v19
32638 + if-eqz v19, :cond_11c
32640 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32644 + if-eqz v3, :cond_11c
32646 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
32648 + move-result-object v8
32650 + if-eqz v8, :cond_105
32652 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32654 + aget-object v4, v18, v17
32658 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32662 + const-string v7, "android_id"
32666 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32668 + .catch Ljava/lang/Exception; {:try_start_86 .. :try_end_ea} :catch_ec
32673 + move-exception v16
32675 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Exception;->printStackTrace()V
32677 + const-string v3, "PM,SecureSettings"
32679 + const-string v4, "Got exception in getString()"
32681 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32685 + sget-object v3, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32687 + move-object/from16 v0, p0
32689 + move-object/from16 v1, p1
32691 + move/from16 v2, p2
32693 + invoke-virtual {v3, v0, v1, v2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32695 + move-result-object v8
32701 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32703 + aget-object v10, v18, v17
32707 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32711 + const-string v13, "android_id"
32713 + const-string/jumbo v14, "q4a5w896ay21dr46"
32717 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32719 + const-string/jumbo v8, "q4a5w896ay21dr46"
32724 + move-object/from16 v0, v18
32726 + array-length v3, v0
32728 + add-int/lit8 v3, v3, -0x1
32730 + move/from16 v0, v17
32732 + if-ne v0, v3, :cond_137
32734 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32736 + move-object/from16 v0, v18
32738 + array-length v3, v0
32740 + add-int/lit8 v3, v3, -0x1
32742 + aget-object v10, v18, v3
32748 + const-string v13, "android_id"
32754 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32757 + const/16 v19, 0x0
32759 + add-int/lit8 v17, v17, 0x1
32764 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32766 + move-object/from16 v0, v18
32768 + array-length v3, v0
32770 + add-int/lit8 v3, v3, -0x1
32772 + aget-object v10, v18, v3
32778 + const-string v13, "android_id"
32784 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32786 + .catch Ljava/lang/Exception; {:try_start_105 .. :try_end_14e} :catch_ec
32791 .method public static getUriFor(Ljava/lang/String;)Landroid/net/Uri;
32792 @@ -1932,6 +2248,71 @@
32796 +.method private static initiate()V
32802 + sput-object v1, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32804 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
32806 + sget-object v2, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32808 + const-string/jumbo v3, "privacy"
32810 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32812 + move-result-object v3
32814 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32816 + move-result-object v3
32818 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32820 + sput-object v1, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32822 + const-string/jumbo v1, "package"
32824 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32826 + move-result-object v1
32828 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32830 + move-result-object v1
32832 + sput-object v1, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32836 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
32838 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
32844 + move-exception v0
32846 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32848 + const-string v1, "PM,SecureSettings"
32850 + const-string v2, "Something went wrong with initalize variables"
32852 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32856 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
32861 .method public static final isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
32864 diff -Npru stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali opd-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali
32865 --- stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2013-01-09 02:53:02.191627403 -0600
32866 +++ opd-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2013-01-09 02:52:42.055527554 -0600
32867 @@ -842,7 +842,7 @@
32869 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32871 - const-string v0, "mType="
32872 + const-string/jumbo v0, "mType="
32874 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32876 @@ -944,7 +944,7 @@
32882 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32884 const-string v0, "mPendingXOffset="
32885 @@ -1001,7 +1001,7 @@
32887 iget-object v0, p0, Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
32889 - if-eqz v0, :cond_166
32890 + if-eqz v0, :cond_167
32892 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32894 @@ -1013,17 +1013,17 @@
32896 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
32910 - .catchall {:try_start_110 .. :try_end_16a} :catchall_168
32912 + .catchall {:try_start_111 .. :try_end_16b} :catchall_169
32916 diff -Npru stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali opd-framework/smali/android/speech/srec/MicrophoneInputStream.smali
32917 --- stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-01-09 02:53:02.199627443 -0600
32918 +++ opd-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-01-09 02:52:42.067527618 -0600
32923 +.field private static final GOT_ERROR:I = -0x3
32925 +.field private static final IS_ALLOWED:I = -0x1
32927 +.field private static final IS_NOT_ALLOWED:I = -0x2
32929 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MicrophoneInputStream"
32931 .field private static final TAG:Ljava/lang/String; = "MicrophoneInputStream"
32935 +.field private context:Landroid/content/Context;
32937 .field private mAudioRecord:I
32939 .field private mOneByte:[B
32941 +.field private mPm:Landroid/content/pm/IPackageManager;
32943 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
32945 +.field private privacyMode:Z
32949 .method static constructor <clinit>()V
32950 @@ -25,79 +41,167 @@
32953 .method public constructor <init>(II)V
32956 .annotation system Ldalvik/annotation/Throws;
32958 Ljava/io/IOException;
32968 invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
32971 + iput-boolean v2, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
32973 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32974 + iput v2, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32977 + new-array v0, v3, [B
32979 - new-array v1, v1, [B
32980 + iput-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
32982 - iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
32983 + iget-boolean v0, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
32985 - invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
32986 + if-nez v0, :cond_15
32988 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->initiate()V
32991 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->checkIfPackagesAllowed()I
32997 + if-ne v0, v1, :cond_43
32999 + invoke-direct {p0, v2}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
33001 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33003 + move-result-object v7
33005 + if-eqz v7, :cond_3b
33007 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33009 + aget-object v1, v7, v2
33011 + const-string/jumbo v4, "recordAudio"
33014 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33016 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33017 + aget-object v9, v7, v2
33019 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33020 + invoke-static {}, Landroid/os/Process;->myUid()I
33022 - if-nez v1, :cond_1d
33025 - new-instance v1, Ljava/io/IOException;
33026 + invoke-virtual {v6, v9, v10}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33028 - const-string v2, "AudioRecord constructor failed - busy?"
33029 + move-result-object v6
33031 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33032 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33036 + new-instance v0, Ljava/io/IOException;
33039 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33040 + const-string v1, "AudioRecord constructor failed - busy?"
33042 - invoke-static {v1}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
33043 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33048 + invoke-direct {p0, v3}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
33050 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33052 + move-result-object v7
33054 + if-eqz v7, :cond_63
33056 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33058 + aget-object v1, v7, v2
33060 + const-string/jumbo v4, "recordAudio"
33062 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33064 + aget-object v6, v7, v2
33066 + invoke-static {}, Landroid/os/Process;->myUid()I
33070 + invoke-virtual {v3, v6, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33072 + move-result-object v6
33076 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33079 + invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
33083 - if-eqz v0, :cond_41
33084 + iput v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33086 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33088 + if-nez v0, :cond_75
33090 + new-instance v0, Ljava/io/IOException;
33092 + const-string v1, "AudioRecord constructor failed - busy?"
33094 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33099 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
33101 + invoke-static {v0}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
33105 + if-eqz v8, :cond_99
33107 invoke-virtual {p0}, Landroid/speech/srec/MicrophoneInputStream;->close()V
33109 - new-instance v1, Ljava/io/IOException;
33110 + new-instance v0, Ljava/io/IOException;
33112 - new-instance v2, Ljava/lang/StringBuilder;
33113 + new-instance v1, Ljava/lang/StringBuilder;
33115 - invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
33116 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33118 - const-string v3, "AudioRecord start failed: "
33119 + const-string v2, "AudioRecord start failed: "
33121 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33122 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33124 - move-result-object v2
33125 + move-result-object v1
33127 - invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33128 + invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33130 - move-result-object v2
33131 + move-result-object v1
33133 - invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33134 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33136 - move-result-object v2
33137 + move-result-object v1
33139 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33140 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33150 @@ -131,6 +235,334 @@
33154 +.method private checkIfPackagesAllowed()I
33160 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33162 + if-eqz v6, :cond_41
33166 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33168 + move-result-object v3
33170 + invoke-static {}, Landroid/os/Process;->myUid()I
33174 + if-eqz v3, :cond_2c
33179 + array-length v6, v3
33181 + if-ge v1, v6, :cond_2a
33183 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33185 + aget-object v7, v3, v1
33187 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33189 + move-result-object v2
33191 + if-eqz v2, :cond_26
33193 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
33197 + if-eqz v6, :cond_26
33207 + add-int/lit8 v1, v1, 0x1
33217 + const-string v6, "PM,MicrophoneInputStream"
33219 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
33221 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33223 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
33228 + move-exception v0
33230 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33232 + const-string v6, "PM,MicrophoneInputStream"
33234 + const-string v7, "Got exception in checkIfPackagesAllowed"
33236 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33242 + const-string v6, "PM,MicrophoneInputStream"
33244 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
33246 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33248 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
33253 +.method private dataAccess(Z)V
33256 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33258 + move-result-object v1
33260 + if-eqz p1, :cond_2f
33262 + if-eqz v1, :cond_2f
33267 + array-length v2, v1
33269 + if-ge v0, v2, :cond_58
33271 + const-string v2, "PM,MicrophoneInputStream"
33273 + new-instance v3, Ljava/lang/StringBuilder;
33275 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33277 + const-string v4, "Allowed Package: -"
33279 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33281 + move-result-object v3
33283 + aget-object v4, v1, v0
33285 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33287 + move-result-object v3
33289 + const-string v4, "- accessing microphone."
33291 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33293 + move-result-object v3
33295 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33297 + move-result-object v3
33299 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33301 + add-int/lit8 v0, v0, 0x1
33306 + if-eqz v1, :cond_58
33311 + array-length v2, v1
33313 + if-ge v0, v2, :cond_58
33315 + const-string v2, "PM,MicrophoneInputStream"
33317 + new-instance v3, Ljava/lang/StringBuilder;
33319 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33321 + const-string v4, "Blocked Package: -"
33323 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33325 + move-result-object v3
33327 + aget-object v4, v1, v0
33329 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33331 + move-result-object v3
33333 + const-string v4, "- accessing microphone."
33335 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33337 + move-result-object v3
33339 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33341 + move-result-object v3
33343 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33345 + add-int/lit8 v0, v0, 0x1
33353 +.method private getPackageName()[Ljava/lang/String;
33357 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33359 + if-eqz v3, :cond_f
33361 + invoke-static {}, Landroid/os/Process;->myUid()I
33365 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33367 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33369 + move-result-object v1
33375 + const-string/jumbo v3, "package"
33377 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33379 + move-result-object v3
33381 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33383 + move-result-object v3
33385 + iput-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33387 + invoke-static {}, Landroid/os/Process;->myUid()I
33391 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33393 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33395 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
33397 + move-result-object v1
33402 + move-exception v0
33404 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33406 + const-string v3, "PM,MicrophoneInputStream"
33408 + const-string/jumbo v4, "something went wrong with getting package name"
33410 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33417 +.method private initiate()V
33423 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33425 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
33427 + iget-object v2, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33429 + const-string/jumbo v3, "privacy"
33431 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33433 + move-result-object v3
33435 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
33437 + move-result-object v3
33439 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
33441 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33443 + const-string/jumbo v1, "package"
33445 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33447 + move-result-object v1
33449 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33451 + move-result-object v1
33453 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33457 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33459 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
33465 + move-exception v0
33467 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33469 + const-string v1, "PM,MicrophoneInputStream"
33471 + const-string v2, "Something went wrong with initalize variables"
33473 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33477 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33484 .method public close()V
33485 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali opd-framework/smali/android/telephony/PhoneStateListener$1.smali
33486 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-01-09 02:53:02.247627685 -0600
33487 +++ opd-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-01-09 02:52:42.119527872 -0600
33488 @@ -64,23 +64,196 @@
33491 .method public onCallStateChanged(ILjava/lang/String;)V
33495 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33496 + move-object/from16 v0, p0
33498 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33499 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33501 - const/16 v1, 0x20
33502 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33503 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33506 + move-result-object v3
33508 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33509 + if-eqz v3, :cond_99
33511 - move-result-object v0
33512 + if-eqz p2, :cond_99
33514 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
33515 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
33519 + if-nez v3, :cond_99
33521 + move-object/from16 v0, p0
33523 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33525 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33526 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33528 + move-result-object v3
33530 + const-string/jumbo v4, "privacy"
33532 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33534 + move-result-object v2
33536 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
33538 + move-object/from16 v0, p0
33540 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33542 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33543 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33545 + move-result-object v3
33547 + move-object/from16 v0, p0
33549 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33551 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33552 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33556 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33558 + move-result-object v8
33560 + if-eqz v8, :cond_6a
33562 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
33566 + if-eqz v3, :cond_6a
33568 + const-string v7, ""
33570 + move-object/from16 v0, p0
33572 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33574 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33576 + const/16 v4, 0x20
33580 + move/from16 v0, p1
33582 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33584 + move-result-object v3
33586 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33588 + move-object/from16 v0, p0
33590 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33592 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33593 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33595 + move-result-object v3
33597 + move-object/from16 v0, p0
33599 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33601 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33602 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33608 + const-string v6, "incomingCall"
33610 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33616 + move-object/from16 v0, p0
33618 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33620 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33622 + const/16 v4, 0x20
33626 + move/from16 v0, p1
33628 + move-object/from16 v1, p2
33630 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33632 + move-result-object v3
33634 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33636 + move-object/from16 v0, p0
33638 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33640 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33641 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33643 + move-result-object v10
33645 + move-object/from16 v0, p0
33647 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33649 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33650 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33656 + const-string v13, "incomingCall"
33658 + move-object v9, v2
33660 + move-object/from16 v14, p2
33662 + move-object v15, v8
33664 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33669 + move-object/from16 v0, p0
33671 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33673 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33675 + const/16 v4, 0x20
33679 + move/from16 v0, p1
33681 + move-object/from16 v1, p2
33683 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33685 + move-result-object v3
33687 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33692 .method public onCellInfoChanged(Ljava/util/List;)V
33693 @@ -113,27 +286,124 @@
33696 .method public onCellLocationChanged(Landroid/os/Bundle;)V
33704 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
33706 + move-result-object v7
33708 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33710 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33711 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33713 + move-result-object v1
33715 + if-eqz v1, :cond_4a
33717 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33719 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33720 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33722 + move-result-object v1
33724 + const-string/jumbo v2, "privacy"
33726 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33728 move-result-object v0
33730 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
33732 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33734 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33735 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33737 + move-result-object v1
33739 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33741 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33742 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33746 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33748 + move-result-object v6
33750 + if-eqz v6, :cond_4b
33752 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33756 + if-eqz v1, :cond_4b
33758 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33760 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33761 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33763 + move-result-object v1
33765 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33767 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33768 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33772 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33776 + const-string v4, "locationNetwork"
33778 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33785 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33787 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33791 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33792 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33794 move-result-object v1
33796 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
33799 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33801 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33802 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33804 + move-result-object v1
33806 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33808 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33809 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33813 + const-string v4, "locationNetwork"
33815 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33820 .method public onDataActivity(I)V
33821 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali opd-framework/smali/android/telephony/PhoneStateListener.smali
33822 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2013-01-09 02:53:00.795620481 -0600
33823 +++ opd-framework/smali/android/telephony/PhoneStateListener.smali 2013-01-09 02:52:40.739521029 -0600
33824 @@ -31,12 +31,20 @@
33826 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
33828 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
33832 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
33834 +.field private context:Landroid/content/Context;
33836 .field mHandler:Landroid/os/Handler;
33838 +.field private packageName:Ljava/lang/String;
33840 +.field private uid:I
33844 .method public constructor <init>()V
33849 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33852 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33857 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33860 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33865 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
33868 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
33875 .method public onCallForwardingIndicatorChanged(Z)V
33876 @@ -143,3 +175,27 @@
33881 +.method public setContext(Landroid/content/Context;)V
33884 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33889 +.method public setPackageName(Ljava/lang/String;)V
33892 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33897 +.method public setUid(I)V
33900 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
33904 diff -Npru stock-framework/smali/android/telephony/ServiceState.smali opd-framework/smali/android/telephony/ServiceState.smali
33905 --- stock-framework/smali/android/telephony/ServiceState.smali 2013-01-09 02:53:02.247627685 -0600
33906 +++ opd-framework/smali/android/telephony/ServiceState.smali 2013-01-09 02:52:42.123527891 -0600
33907 @@ -668,48 +668,6 @@
33911 -.method private setNullState(I)V
33920 - iput p1, p0, Landroid/telephony/ServiceState;->mState:I
33922 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
33924 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
33926 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
33928 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
33930 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
33932 - iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
33934 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
33936 - iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
33938 - iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
33940 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
33942 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
33944 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
33946 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
33948 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
33955 .method protected copyFrom(Landroid/telephony/ServiceState;)V
33956 @@ -1511,6 +1469,48 @@
33960 +.method setNullState(I)V
33969 + iput p1, p0, Landroid/telephony/ServiceState;->mState:I
33971 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
33973 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
33975 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
33977 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
33979 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
33981 + iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
33983 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
33985 + iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
33987 + iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
33989 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
33991 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
33993 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
33995 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
33997 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
34002 .method public setOperatorAlphaLong(Ljava/lang/String;)V
34005 @@ -1560,7 +1560,7 @@
34009 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34010 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34014 @@ -1570,7 +1570,7 @@
34018 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34019 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
34023 diff -Npru stock-framework/smali/android/widget/TextView.smali opd-framework/smali/android/widget/TextView.smali
34024 --- stock-framework/smali/android/widget/TextView.smali 2013-01-09 02:53:00.575619395 -0600
34025 +++ opd-framework/smali/android/widget/TextView.smali 2013-01-09 02:52:40.655520612 -0600
34026 @@ -9244,7 +9244,7 @@
34028 iget-object v1, p0, Landroid/widget/TextView;->mText:Ljava/lang/CharSequence;
34030 - if-eqz v1, :cond_be
34031 + if-eqz v1, :cond_bf
34033 new-instance v1, Ljava/lang/StringBuilder;
34035 @@ -9254,7 +9254,7 @@
34037 move-result-object v1
34039 - const-string v2, "mText=\""
34040 + const-string/jumbo v2, "mText=\""
34042 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34044 @@ -9278,7 +9278,7 @@
34046 iget-object v1, p0, Landroid/widget/TextView;->mLayout:Landroid/text/Layout;
34048 - if-eqz v1, :cond_b8
34049 + if-eqz v1, :cond_b9
34051 new-instance v1, Ljava/lang/StringBuilder;
34053 @@ -9324,15 +9324,15 @@
34055 move-result-object v0
34061 const-string v1, "View"
34063 invoke-static {v1, v0}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
34069 new-instance v1, Ljava/lang/StringBuilder;
34071 invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34072 @@ -9341,7 +9341,7 @@
34074 move-result-object v1
34076 - const-string v2, "mText=NULL"
34077 + const-string/jumbo v2, "mText=NULL"
34079 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34081 @@ -9351,7 +9351,7 @@
34083 move-result-object v0
34089 .method protected deleteText_internal(II)V
34090 diff -Npru stock-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali opd-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali
34091 --- stock-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali 2013-01-09 02:53:03.235632578 -0600
34092 +++ opd-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali 2013-01-09 02:52:43.187533167 -0600
34093 @@ -330,7 +330,7 @@
34095 move-result-object v0
34097 - const-string v1, "mTotalTime="
34098 + const-string/jumbo v1, "mTotalTime="
34100 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;