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-08 23:29:01.704079809 -0600
3 +++ opd-framework/smali/android/app/BackStackRecord.smali 2013-01-08 23:29:40.448271937 -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-08 23:29:01.716079867 -0600
360 +++ opd-framework/smali/android/app/ContextImpl$10.smali 2013-01-08 23:29:40.452271952 -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-08 23:29:01.728079928 -0600
402 +++ opd-framework/smali/android/app/ContextImpl$22.smali 2013-01-08 23:29:40.456271971 -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-08 23:29:01.744080013 -0600
440 +++ opd-framework/smali/android/app/ContextImpl$31.smali 2013-01-08 23:29:40.460271996 -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-08 23:29:01.744080013 -0600
465 +++ opd-framework/smali/android/app/ContextImpl$37.smali 2013-01-08 23:29:40.464272008 -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-08 23:29:01.744080013 -0600
490 +++ opd-framework/smali/android/app/ContextImpl$39.smali 2013-01-08 23:29:40.468272029 -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-08 23:29:01.744080013 -0600
560 +++ opd-framework/smali/android/app/ContextImpl$3.smali 2013-01-08 23:29:40.468272029 -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-08 23:29:01.748080028 -0600
590 +++ opd-framework/smali/android/app/ContextImpl$40.smali 2013-01-08 23:29:40.468272029 -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-08 23:29:40.468272029 -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-08 23:29:01.796080266 -0600
688 +++ opd-framework/smali/android/app/ContextImpl.smali 2013-01-08 23:29:40.500272190 -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 @@ -5059,10 +5107,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-08 23:29:01.812080343 -0600
828 +++ opd-framework/smali/android/app/Fragment.smali 2013-01-08 23:29:40.508272234 -0600
829 @@ -676,11 +676,11 @@
831 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
833 - if-eqz v0, :cond_189
834 + if-eqz v0, :cond_18a
836 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
838 - const-string v0, "mView="
839 + const-string/jumbo v0, "mView="
841 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
843 @@ -688,10 +688,10 @@
845 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
849 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
851 - if-eqz v0, :cond_1a7
852 + if-eqz v0, :cond_1a8
854 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
856 @@ -713,10 +713,10 @@
858 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
862 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
864 - if-eqz v0, :cond_1cb
865 + if-eqz v0, :cond_1cc
867 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
869 @@ -746,10 +746,10 @@
871 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
875 iget-object v0, p0, Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl;
877 - if-eqz v0, :cond_208
878 + if-eqz v0, :cond_209
880 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
884 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/FragmentManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
891 diff -Npru stock-framework/smali/android/app/Instrumentation$1.smali opd-framework/smali/android/app/Instrumentation$1.smali
892 --- stock-framework/smali/android/app/Instrumentation$1.smali 2013-01-08 23:29:02.112081832 -0600
893 +++ opd-framework/smali/android/app/Instrumentation$1.smali 2013-01-08 23:29:40.708273226 -0600
895 -.class synthetic Landroid/app/Instrumentation$1;
896 +.class Landroid/app/Instrumentation$1;
897 .super Ljava/lang/Object;
898 .source "Instrumentation.java"
901 +.implements Ljava/lang/Runnable;
905 -.annotation system Ldalvik/annotation/EnclosingClass;
906 - value = Landroid/app/Instrumentation;
907 +.annotation system Ldalvik/annotation/EnclosingMethod;
908 + 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;
911 .annotation system Ldalvik/annotation/InnerClass;
912 - accessFlags = 0x1008
919 +.field final synthetic this$0:Landroid/app/Instrumentation;
921 +.field final synthetic val$tmp:Landroid/content/Context;
925 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
928 + iput-object p1, p0, Landroid/app/Instrumentation$1;->this$0:Landroid/app/Instrumentation;
930 + iput-object p2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
932 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
939 +.method public run()V
942 + const-wide/16 v2, 0x3e8
945 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
947 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
950 + new-instance v1, Landroid/content/Intent;
952 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
954 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
956 + new-instance v0, Landroid/os/Bundle;
958 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
960 + const-string/jumbo v2, "packageName"
962 + iget-object v3, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
964 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
966 + move-result-object v3
968 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
970 + const-string/jumbo v2, "phoneState"
974 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
976 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
978 + iget-object v2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
980 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
982 + const-string v2, "PrivacyContext"
984 + const-string/jumbo v3, "sent privacy intent"
986 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
995 diff -Npru stock-framework/smali/android/app/Instrumentation$2.smali opd-framework/smali/android/app/Instrumentation$2.smali
996 --- stock-framework/smali/android/app/Instrumentation$2.smali 1969-12-31 18:00:00.000000000 -0600
997 +++ opd-framework/smali/android/app/Instrumentation$2.smali 2013-01-08 23:29:40.712273238 -0600
999 +.class Landroid/app/Instrumentation$2;
1000 +.super Ljava/lang/Object;
1001 +.source "Instrumentation.java"
1004 +.implements Ljava/lang/Runnable;
1008 +.annotation system Ldalvik/annotation/EnclosingMethod;
1009 + 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
1012 +.annotation system Ldalvik/annotation/InnerClass;
1019 +.field final synthetic this$0:Landroid/app/Instrumentation;
1021 +.field final synthetic val$tmp:Landroid/content/Context;
1025 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1028 + iput-object p1, p0, Landroid/app/Instrumentation$2;->this$0:Landroid/app/Instrumentation;
1030 + iput-object p2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1032 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1039 +.method public run()V
1042 + const-wide/16 v2, 0x3e8
1045 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1047 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1050 + new-instance v1, Landroid/content/Intent;
1052 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1054 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1056 + new-instance v0, Landroid/os/Bundle;
1058 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1060 + const-string/jumbo v2, "packageName"
1062 + iget-object v3, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1064 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1066 + move-result-object v3
1068 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1070 + const-string/jumbo v2, "phoneState"
1074 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1076 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1078 + iget-object v2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
1080 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1082 + const-string v2, "PrivacyContext"
1084 + const-string/jumbo v3, "sent privacy intent"
1086 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1095 diff -Npru stock-framework/smali/android/app/Instrumentation$3.smali opd-framework/smali/android/app/Instrumentation$3.smali
1096 --- stock-framework/smali/android/app/Instrumentation$3.smali 1969-12-31 18:00:00.000000000 -0600
1097 +++ opd-framework/smali/android/app/Instrumentation$3.smali 2013-01-08 23:29:40.712273238 -0600
1099 +.class Landroid/app/Instrumentation$3;
1100 +.super Ljava/lang/Object;
1101 +.source "Instrumentation.java"
1104 +.implements Ljava/lang/Runnable;
1108 +.annotation system Ldalvik/annotation/EnclosingMethod;
1109 + 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;
1112 +.annotation system Ldalvik/annotation/InnerClass;
1119 +.field final synthetic this$0:Landroid/app/Instrumentation;
1121 +.field final synthetic val$tmp:Landroid/content/Context;
1125 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1128 + iput-object p1, p0, Landroid/app/Instrumentation$3;->this$0:Landroid/app/Instrumentation;
1130 + iput-object p2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1132 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1139 +.method public run()V
1142 + const-wide/16 v2, 0x3e8
1145 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1147 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1150 + new-instance v1, Landroid/content/Intent;
1152 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1154 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1156 + new-instance v0, Landroid/os/Bundle;
1158 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1160 + const-string/jumbo v2, "packageName"
1162 + iget-object v3, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1164 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1166 + move-result-object v3
1168 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1170 + const-string/jumbo v2, "phoneState"
1174 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1176 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1178 + iget-object v2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1180 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1182 + const-string v2, "PrivacyContext"
1184 + const-string/jumbo v3, "sent privacy intent"
1186 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1195 diff -Npru stock-framework/smali/android/app/Instrumentation$4.smali opd-framework/smali/android/app/Instrumentation$4.smali
1196 --- stock-framework/smali/android/app/Instrumentation$4.smali 1969-12-31 18:00:00.000000000 -0600
1197 +++ opd-framework/smali/android/app/Instrumentation$4.smali 2013-01-08 23:29:40.712273238 -0600
1199 +.class Landroid/app/Instrumentation$4;
1200 +.super Ljava/lang/Object;
1201 +.source "Instrumentation.java"
1204 +.implements Ljava/lang/Runnable;
1208 +.annotation system Ldalvik/annotation/EnclosingMethod;
1209 + 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;
1212 +.annotation system Ldalvik/annotation/InnerClass;
1219 +.field final synthetic this$0:Landroid/app/Instrumentation;
1221 +.field final synthetic val$tmp:Landroid/content/Context;
1225 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1228 + iput-object p1, p0, Landroid/app/Instrumentation$4;->this$0:Landroid/app/Instrumentation;
1230 + iput-object p2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1232 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1239 +.method public run()V
1242 + const-wide/16 v2, 0x3e8
1245 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1247 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1250 + new-instance v1, Landroid/content/Intent;
1252 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1254 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1256 + new-instance v0, Landroid/os/Bundle;
1258 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1260 + const-string/jumbo v2, "packageName"
1262 + iget-object v3, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1264 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1266 + move-result-object v3
1268 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1270 + const-string/jumbo v2, "phoneState"
1274 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1276 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1278 + iget-object v2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1280 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1282 + const-string v2, "PrivacyContext"
1284 + const-string/jumbo v3, "sent privacy intent"
1286 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1295 diff -Npru stock-framework/smali/android/app/Instrumentation.smali opd-framework/smali/android/app/Instrumentation.smali
1296 --- stock-framework/smali/android/app/Instrumentation.smali 2013-01-08 23:29:02.128081917 -0600
1297 +++ opd-framework/smali/android/app/Instrumentation.smali 2013-01-08 23:29:40.732273345 -0600
1300 .annotation system Ldalvik/annotation/MemberClasses;
1302 - Landroid/app/Instrumentation$1;,
1303 Landroid/app/Instrumentation$Idler;,
1304 Landroid/app/Instrumentation$ActivityGoing;,
1305 Landroid/app/Instrumentation$ActivityWaiter;,
1308 .field private mPerformanceCollector:Landroid/os/PerformanceCollector;
1310 +.field private mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1312 .field private mRunner:Ljava/lang/Thread;
1314 .field private final mSync:Ljava/lang/Object;
1315 @@ -891,176 +892,131 @@
1318 .method public execStartActivitiesAsUser(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;I)V
1321 - move-object v2, p2
1323 - check-cast v2, Landroid/app/IApplicationThread;
1325 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1327 - if-eqz v1, :cond_37
1329 - iget-object v3, p0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1334 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1336 - invoke-interface {v1}, Ljava/util/List;->size()I
1343 - if-ge v10, v8, :cond_36
1346 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1348 - invoke-interface {v1, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
1350 - move-result-object v9
1352 - check-cast v9, Landroid/app/Instrumentation$ActivityMonitor;
1355 + move-object/from16 v3, p2
1358 + check-cast v3, Landroid/app/IApplicationThread;
1360 - aget-object v5, p5, v5
1361 + const-string v2, "Instrumentation"
1363 - invoke-virtual {v9, p1, v1, v5}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1364 + new-instance v4, Ljava/lang/StringBuilder;
1367 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1369 - if-eqz v1, :cond_33
1370 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: execStartActivitiesAsUser for "
1372 - iget v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1373 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1375 - add-int/lit8 v1, v1, 0x1
1376 + move-result-object v4
1378 - iput v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1379 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1381 - invoke-virtual {v9}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1382 + move-result-object v6
1385 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1387 - if-eqz v1, :cond_36
1388 + move-result-object v4
1391 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1395 + move-result-object v4
1398 - add-int/lit8 v10, v10, 0x1
1399 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1402 + if-eqz p5, :cond_6f
1407 - .catchall {:try_start_a .. :try_end_37} :catchall_57
1412 - move-object/from16 v0, p5
1413 + move-object/from16 v12, p5
1415 - array-length v1, v0
1416 + array-length v0, v12
1418 - new-array v4, v1, [Ljava/lang/String;
1419 + move/from16 v19, v0
1425 - move-object/from16 v0, p5
1427 + move/from16 v0, v17
1429 - array-length v1, v0
1430 + move/from16 v1, v19
1432 - if-ge v10, v1, :cond_5a
1433 + if-ge v0, v1, :cond_51
1435 - aget-object v1, p5, v10
1436 + aget-object v18, v12, v17
1440 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1442 - invoke-virtual {v1, v3}, Landroid/content/Intent;->setAllowFds(Z)V
1443 + move-result-object v2
1445 - aget-object v1, p5, v10
1446 + if-eqz v2, :cond_cc
1448 - invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1449 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1451 - move-result-object v3
1452 + move-result-object v2
1454 - invoke-virtual {v1, v3}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1455 + const-string v4, "android.intent.action.CALL"
1457 - move-result-object v1
1458 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1460 - aput-object v1, v4, v10
1462 - .catch Landroid/os/RemoteException; {:try_start_37 .. :try_end_54} :catch_70
1465 - add-int/lit8 v10, v10, 0x1
1466 + if-nez v2, :cond_50
1469 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1473 + move-result-object v2
1478 - .catchall {:try_start_58 .. :try_end_59} :catchall_57
1479 + const-string v4, "android.intent.action.DIAL"
1482 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1484 + .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_4d} :catch_ae
1488 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1491 - move-result-object v1
1492 + if-eqz v2, :cond_cc
1494 - move-object/from16 v3, p5
1498 - move-object v5, p3
1500 + if-nez v13, :cond_d0
1502 - move-object/from16 v6, p6
1503 + const-string v2, "Instrumentation"
1505 - move/from16 v7, p7
1506 + new-instance v4, Ljava/lang/StringBuilder;
1508 - 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
1509 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1512 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: No provided intents triggered checking for "
1515 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1517 - aget-object v1, p5, v1
1518 + move-result-object v4
1520 - invoke-static {v11, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1522 - .catch Landroid/os/RemoteException; {:try_start_5a .. :try_end_6f} :catch_70
1523 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1526 + move-result-object v6
1530 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1534 + move-result-object v4
1536 -.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;
1538 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1540 - move-object/from16 v3, p2
1541 + move-result-object v4
1543 - check-cast v3, Landroid/app/IApplicationThread;
1544 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1548 move-object/from16 v0, p0
1550 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1552 - if-eqz v2, :cond_49
1553 + if-eqz v2, :cond_283
1555 move-object/from16 v0, p0
1557 @@ -1068,524 +1024,2595 @@
1563 move-object/from16 v0, p0
1565 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1567 invoke-interface {v2}, Ljava/util/List;->size()I
1576 + move/from16 v0, v16
1579 - if-ge v15, v13, :cond_48
1580 + if-ge v0, v9, :cond_282
1582 move-object/from16 v0, p0
1584 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1586 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
1587 + move/from16 v0, v16
1589 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1591 - move-result-object v14
1592 + move-result-object v11
1594 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
1595 + check-cast v11, Landroid/app/Instrumentation$ActivityMonitor;
1599 - move-object/from16 v0, p1
1602 - move-object/from16 v1, p5
1603 + aget-object v6, p5, v6
1605 + move-object/from16 v0, p1
1607 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1608 + invoke-virtual {v11, v0, v2, v6}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1612 - if-eqz v2, :cond_45
1613 + if-eqz v2, :cond_27e
1615 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1616 + iget v2, v11, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1618 add-int/lit8 v2, v2, 0x1
1620 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1621 + iput v2, v11, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1623 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1624 + invoke-virtual {v11}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1628 - if-eqz v2, :cond_48
1629 + if-eqz v2, :cond_282
1631 - if-ltz p6, :cond_43
1633 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1635 - move-result-object v2
1640 + .catchall {:try_start_7a .. :try_end_ad} :catchall_2a6
1650 + move-exception v14
1653 + const-string v2, "Instrumentation"
1656 - add-int/lit8 v15, v15, 0x1
1657 + new-instance v4, Ljava/lang/StringBuilder;
1660 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1665 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
1666 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intents for "
1670 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1673 - move-object/from16 v0, p5
1674 + move-result-object v4
1676 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1677 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1679 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1680 + move-result-object v6
1682 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1683 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1685 - move-result-object v2
1686 + move-result-object v4
1688 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1689 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1691 move-result-object v4
1693 - move-object/from16 v0, p5
1694 + invoke-static {v2, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1696 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1699 - move-result-object v5
1701 + add-int/lit8 v17, v17, 0x1
1703 - if-eqz p4, :cond_81
1706 - move-object/from16 v0, p4
1708 + const-string v2, "Instrumentation"
1710 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1711 + new-instance v4, Ljava/lang/StringBuilder;
1715 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1718 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: One or more intents triggered checking for "
1721 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1723 - move-object/from16 v4, p5
1724 + move-result-object v4
1726 - move-object/from16 v6, p3
1727 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1729 - move/from16 v8, p6
1730 + move-result-object v6
1732 - move-object/from16 v12, p7
1733 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1735 - 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
1736 + move-result-object v4
1739 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1741 - move/from16 v0, v16
1742 + move-result-object v4
1744 - move-object/from16 v1, p5
1745 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1747 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1749 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
1750 + move-object/from16 v0, p0
1754 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1757 + if-eqz v2, :cond_fc
1761 + move-object/from16 v0, p0
1766 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
1767 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1770 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1777 + if-nez v2, :cond_18f
1782 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
1786 + const-string/jumbo v4, "privacy"
1788 -.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;
1790 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1792 - move-object/from16 v3, p2
1793 + move-result-object v4
1795 - check-cast v3, Landroid/app/IApplicationThread;
1796 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1798 - move-object/from16 v0, p0
1799 + move-result-object v4
1801 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1802 + move-object/from16 v0, p1
1804 - if-eqz v2, :cond_4e
1805 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1807 move-object/from16 v0, p0
1809 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1812 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1815 move-object/from16 v0, p0
1817 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1818 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1820 - invoke-interface {v2}, Ljava/util/List;->size()I
1821 + if-eqz v2, :cond_187
1824 + const-string v2, "Instrumentation"
1827 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Obtained privacy service"
1830 - move/from16 v0, v16
1831 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1833 - if-ge v0, v14, :cond_4d
1837 move-object/from16 v0, p0
1839 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1840 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1842 - move/from16 v0, v16
1843 + if-eqz v2, :cond_130
1845 - invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1846 + move-object/from16 v0, p0
1848 - move-result-object v15
1849 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1851 - check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
1852 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1857 - move-object/from16 v0, p1
1858 + if-nez v2, :cond_197
1860 - move-object/from16 v1, p5
1862 + const-string v2, "Instrumentation"
1864 - invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1865 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not available - assuming permission denied"
1868 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1870 - if-eqz v2, :cond_4a
1873 - iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1874 + move-object/from16 v0, p0
1876 - add-int/lit8 v2, v2, 0x1
1877 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1879 - iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1880 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1882 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1883 + move-result-object v4
1888 - if-eqz v2, :cond_4d
1889 + const-string/jumbo v7, "phoneCall"
1891 - if-ltz p6, :cond_48
1894 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1895 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1897 - move-result-object v2
1899 + if-nez v10, :cond_6f
1903 + new-instance v15, Ljava/util/ArrayList;
1907 + move-object/from16 v0, p5
1911 + array-length v2, v0
1914 + invoke-direct {v15, v2}, Ljava/util/ArrayList;-><init>(I)V
1917 - add-int/lit8 v16, v16, 0x1
1918 + move-object/from16 v12, p5
1921 + array-length v0, v12
1926 - .catchall {:try_start_f .. :try_end_4e} :catchall_87
1927 + move/from16 v19, v0
1934 - move-object/from16 v0, p5
1936 + move/from16 v0, v17
1938 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1939 + move/from16 v1, v19
1941 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1942 + if-ge v0, v1, :cond_25d
1944 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1945 + aget-object v18, v12, v17
1948 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1950 move-result-object v2
1952 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1953 + if-eqz v2, :cond_17f
1955 - move-result-object v4
1956 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1958 - move-object/from16 v0, p5
1959 + move-result-object v2
1961 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1962 + const-string v4, "android.intent.action.CALL"
1964 - move-result-object v5
1965 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1967 - if-eqz p4, :cond_8a
1970 - move-object/from16 v0, p4
1971 + if-nez v2, :cond_184
1973 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1974 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1978 + move-result-object v2
1981 + const-string v4, "android.intent.action.DIAL"
1984 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1986 - invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
1990 + if-nez v2, :cond_184
1992 - move-object/from16 v4, p5
1994 + move-object/from16 v0, v18
1996 - move-object/from16 v6, p3
1997 + invoke-interface {v15, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
1999 + .catch Ljava/lang/Exception; {:try_start_161 .. :try_end_184} :catch_23e
2001 - move/from16 v8, p6
2004 + add-int/lit8 v17, v17, 0x1
2006 - move-object/from16 v12, p7
2009 - 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
2011 + const-string v2, "Instrumentation"
2014 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not obtained"
2016 - move/from16 v0, v17
2017 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2019 - move-object/from16 v1, p5
2022 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2024 - .catch Landroid/os/RemoteException; {:try_start_4f .. :try_end_85} :catch_8c
2026 + const-string v2, "Instrumentation"
2030 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Already had privacy service"
2033 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2042 - .catchall {:try_start_88 .. :try_end_89} :catchall_87
2044 + move-object/from16 v0, p0
2047 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2051 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2054 + move-result-object v4
2058 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2062 + move-result-object v20
2064 -.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;
2066 + if-nez v20, :cond_1d4
2068 - move-object/from16 v3, p2
2069 + const-string v2, "Instrumentation"
2071 - check-cast v3, Landroid/app/IApplicationThread;
2072 + new-instance v4, Ljava/lang/StringBuilder;
2074 - move-object/from16 v0, p0
2075 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2077 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2078 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: No settings for package: "
2080 - if-eqz v2, :cond_49
2081 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2083 - move-object/from16 v0, p0
2084 + move-result-object v4
2086 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2087 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2090 + move-result-object v6
2093 - move-object/from16 v0, p0
2094 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2096 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2097 + move-result-object v4
2099 - invoke-interface {v2}, Ljava/util/List;->size()I
2100 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2103 + move-result-object v4
2106 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2109 - if-ge v15, v13, :cond_48
2112 move-object/from16 v0, p0
2114 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2115 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2117 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
2118 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2120 - move-result-object v14
2121 + move-result-object v4
2123 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
2127 + const-string/jumbo v7, "phoneCall"
2129 - move-object/from16 v0, p1
2132 - move-object/from16 v1, p5
2133 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2135 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2139 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2143 - if-eqz v2, :cond_45
2144 + if-nez v2, :cond_20c
2146 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2147 + const-string v2, "Instrumentation"
2149 - add-int/lit8 v2, v2, 0x1
2150 + new-instance v4, Ljava/lang/StringBuilder;
2152 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2153 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2155 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2156 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: Settings permit "
2159 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2161 - if-eqz v2, :cond_48
2162 + move-result-object v4
2164 - if-ltz p6, :cond_43
2165 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2167 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2168 + move-result-object v6
2170 - move-result-object v2
2171 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2175 + move-result-object v4
2179 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2183 + move-result-object v4
2186 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2189 - add-int/lit8 v15, v15, 0x1
2193 + move-object/from16 v0, p0
2198 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
2199 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2203 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2206 - move-object/from16 v0, p5
2207 + move-result-object v4
2209 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
2210 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2212 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2215 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2216 + const-string/jumbo v7, "phoneCall"
2218 - move-result-object v2
2221 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2222 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2224 - move-result-object v4
2227 - move-object/from16 v0, p5
2229 + const-string v2, "Instrumentation"
2231 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2232 + new-instance v4, Ljava/lang/StringBuilder;
2234 - move-result-object v5
2235 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2237 - if-eqz p4, :cond_81
2238 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents denied: Settings deny "
2240 - move-object/from16 v0, p4
2241 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2243 - iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
2244 + move-result-object v4
2248 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2251 + move-result-object v6
2254 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2256 - move-object/from16 v4, p5
2257 + move-result-object v4
2259 - move-object/from16 v6, p3
2260 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2262 - move/from16 v8, p6
2263 + move-result-object v4
2265 - move-object/from16 v12, p7
2266 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2268 - 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
2272 + move-object/from16 v0, p0
2274 - move/from16 v0, v16
2275 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2277 - move-object/from16 v1, p5
2278 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2280 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2282 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
2283 + move-result-object v4
2285 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2289 + const-string/jumbo v7, "phoneCall"
2293 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2298 + move-exception v14
2300 + const-string v2, "Instrumentation"
2302 + new-instance v4, Ljava/lang/StringBuilder;
2304 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2306 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intent for "
2308 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2310 + move-result-object v4
2312 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2314 + move-result-object v6
2316 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2318 + move-result-object v4
2320 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2322 + move-result-object v4
2324 + invoke-static {v2, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2329 + invoke-interface {v15}, Ljava/util/List;->size()I
2333 + new-array v2, v2, [Landroid/content/Intent;
2335 + invoke-interface {v15, v2}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
2337 + move-result-object p5
2339 + check-cast p5, [Landroid/content/Intent;
2341 + move-object/from16 v22, p1
2343 + new-instance v2, Ljava/lang/Thread;
2345 + new-instance v4, Landroid/app/Instrumentation$2;
2347 + move-object/from16 v0, p0
2349 + move-object/from16 v1, v22
2351 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$2;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2353 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2355 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2360 + add-int/lit8 v16, v16, 0x1
2368 + .catchall {:try_start_282 .. :try_end_283} :catchall_2a6
2372 + move-object/from16 v0, p5
2374 + array-length v2, v0
2376 + new-array v5, v2, [Ljava/lang/String;
2381 + move-object/from16 v0, p5
2383 + array-length v2, v0
2385 + move/from16 v0, v16
2387 + if-ge v0, v2, :cond_2a9
2389 + aget-object v2, p5, v16
2393 + invoke-virtual {v2, v4}, Landroid/content/Intent;->setAllowFds(Z)V
2395 + aget-object v2, p5, v16
2397 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2399 + move-result-object v4
2401 + invoke-virtual {v2, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2403 + move-result-object v2
2405 + aput-object v2, v5, v16
2407 + .catch Landroid/os/RemoteException; {:try_start_283 .. :try_end_2a3} :catch_2c3
2409 + add-int/lit8 v16, v16, 0x1
2419 + .catchall {:try_start_2a7 .. :try_end_2a8} :catchall_2a6
2425 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2427 + move-result-object v2
2429 + move-object/from16 v4, p5
2431 + move-object/from16 v6, p3
2433 + move-object/from16 v7, p6
2435 + move/from16 v8, p7
2437 + 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
2443 + aget-object v2, p5, v2
2445 + move/from16 v0, v21
2447 + invoke-static {v0, v2}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2449 + .catch Landroid/os/RemoteException; {:try_start_2a9 .. :try_end_2c1} :catch_2c3
2459 +.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;
2462 + move-object/from16 v3, p2
2464 + check-cast v3, Landroid/app/IApplicationThread;
2469 + const-string v2, "Instrumentation"
2471 + new-instance v4, Ljava/lang/StringBuilder;
2473 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2475 + const-string v5, "PDroid:Instrumentation:execStartActivity: execStartActivity for "
2477 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2479 + move-result-object v4
2481 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2483 + move-result-object v5
2485 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2487 + move-result-object v4
2489 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2491 + move-result-object v4
2493 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2495 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2497 + move-result-object v2
2499 + if-eqz v2, :cond_b7
2501 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2503 + move-result-object v2
2505 + const-string v4, "android.intent.action.CALL"
2507 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2511 + if-nez v2, :cond_3f
2513 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2515 + move-result-object v2
2517 + const-string v4, "android.intent.action.DIAL"
2519 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2523 + if-eqz v2, :cond_b7
2528 + const-string v2, "Instrumentation"
2530 + new-instance v4, Ljava/lang/StringBuilder;
2532 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2534 + const-string v5, "PDroid:Instrumentation:execStartActivity: Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
2536 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2538 + move-result-object v4
2540 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2542 + move-result-object v5
2544 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2546 + move-result-object v4
2548 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2550 + move-result-object v4
2552 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2554 + move-object/from16 v0, p0
2556 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2558 + if-eqz v2, :cond_6c
2560 + move-object/from16 v0, p0
2562 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2564 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2568 + if-nez v2, :cond_125
2571 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
2573 + const-string/jumbo v4, "privacy"
2575 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
2577 + move-result-object v4
2579 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
2581 + move-result-object v4
2583 + move-object/from16 v0, p1
2585 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
2587 + move-object/from16 v0, p0
2589 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2591 + move-object/from16 v0, p0
2593 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2595 + if-eqz v2, :cond_fb
2597 + const-string v2, "Instrumentation"
2599 + const-string v4, "PDroid:Instrumentation:execStartActivity: Obtained privacy service"
2601 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2604 + move-object/from16 v0, p0
2606 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2608 + if-eqz v2, :cond_9f
2610 + move-object/from16 v0, p0
2612 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2614 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2618 + if-nez v2, :cond_12e
2621 + const-string v2, "Instrumentation"
2623 + const-string v4, "PDroid:Instrumentation:execStartActivity: Privacy service not available: rejecting call attempt"
2625 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2629 + move-object/from16 v0, p0
2631 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2633 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2635 + move-result-object v4
2639 + const-string/jumbo v6, "phoneCall"
2643 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2645 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b7} :catch_103
2649 + move-object/from16 v0, p0
2651 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2653 + if-eqz v2, :cond_1fb
2655 + move-object/from16 v0, p0
2657 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2662 + move-object/from16 v0, p0
2664 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2666 + invoke-interface {v2}, Ljava/util/List;->size()I
2673 + move/from16 v0, v17
2675 + if-ge v0, v13, :cond_1fa
2677 + move-object/from16 v0, p0
2679 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2681 + move/from16 v0, v17
2683 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2685 + move-result-object v15
2687 + check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
2691 + move-object/from16 v0, p1
2693 + move-object/from16 v1, p5
2695 + invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2699 + if-eqz v2, :cond_1f6
2701 + iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2703 + add-int/lit8 v2, v2, 0x1
2705 + iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2707 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2711 + if-eqz v2, :cond_1fa
2713 + if-ltz p6, :cond_1f3
2715 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2717 + move-result-object v2
2722 + .catchall {:try_start_c2 .. :try_end_fa} :catchall_215
2729 + const-string v2, "Instrumentation"
2731 + const-string v4, "PDroid:Instrumentation:execStartActivity: Privacy service not obtained"
2733 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2735 + .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_102} :catch_103
2740 + move-exception v16
2742 + if-eqz p1, :cond_1e8
2744 + const-string v2, "Instrumentation"
2746 + new-instance v4, Ljava/lang/StringBuilder;
2748 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2750 + const-string v5, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for "
2752 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2754 + move-result-object v4
2756 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2758 + move-result-object v5
2760 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2762 + move-result-object v4
2764 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2766 + move-result-object v4
2768 + move-object/from16 v0, v16
2770 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2776 + const-string v2, "Instrumentation"
2778 + const-string v4, "PDroid:Instrumentation:execStartActivity: Already had privacy service"
2780 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2785 + move-object/from16 v0, p0
2787 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2789 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2791 + move-result-object v4
2793 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2795 + move-result-object v18
2797 + if-nez v18, :cond_16b
2799 + const-string v2, "Instrumentation"
2801 + new-instance v4, Ljava/lang/StringBuilder;
2803 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2805 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call allowed: No settings for package: "
2807 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2809 + move-result-object v4
2811 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2813 + move-result-object v5
2815 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2817 + move-result-object v4
2819 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2821 + move-result-object v4
2823 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2827 + move-object/from16 v0, p0
2829 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2831 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2833 + move-result-object v4
2837 + const-string/jumbo v6, "phoneCall"
2841 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2846 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2850 + if-nez v2, :cond_1a3
2852 + const-string v2, "Instrumentation"
2854 + new-instance v4, Ljava/lang/StringBuilder;
2856 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2858 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call allowed: Settings permit "
2860 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2862 + move-result-object v4
2864 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2866 + move-result-object v5
2868 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2870 + move-result-object v4
2872 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2874 + move-result-object v4
2876 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2880 + move-object/from16 v0, p0
2882 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2884 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2886 + move-result-object v4
2888 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2892 + const-string/jumbo v6, "phoneCall"
2896 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2901 + const-string v2, "Instrumentation"
2903 + new-instance v4, Ljava/lang/StringBuilder;
2905 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2907 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call denied: Settings deny "
2909 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2911 + move-result-object v4
2913 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2915 + move-result-object v5
2917 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2919 + move-result-object v4
2921 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2923 + move-result-object v4
2925 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2929 + move-object/from16 v20, p1
2931 + new-instance v2, Ljava/lang/Thread;
2933 + new-instance v4, Landroid/app/Instrumentation$1;
2935 + move-object/from16 v0, p0
2937 + move-object/from16 v1, v20
2939 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$1;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2941 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2943 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2945 + move-object/from16 v0, p0
2947 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2949 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2951 + move-result-object v4
2953 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2957 + const-string/jumbo v6, "phoneCall"
2961 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2963 + .catch Ljava/lang/Exception; {:try_start_125 .. :try_end_1e6} :catch_103
2968 + const-string v2, "Instrumentation"
2970 + const-string v4, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for unknown package"
2972 + move-object/from16 v0, v16
2974 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2984 + add-int/lit8 v17, v17, 0x1
2992 + .catchall {:try_start_1fa .. :try_end_1fb} :catchall_215
2995 + if-nez v14, :cond_218
2998 + new-instance v2, Landroid/app/Instrumentation$ActivityResult;
3000 + move/from16 v0, p6
3002 + move-object/from16 v1, p5
3004 + invoke-direct {v2, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3006 + .catch Ljava/lang/Exception; {:try_start_1fd .. :try_end_206} :catch_208
3011 + move-exception v16
3013 + const-string v2, "Instrumentation"
3015 + const-string v4, "PDroid:Instrumentation:execStartActivity: Exception occurred while trying to create ActivityResult"
3017 + move-object/from16 v0, v16
3019 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3031 + .catchall {:try_start_216 .. :try_end_217} :catchall_215
3039 + move-object/from16 v0, p5
3041 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
3043 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3045 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3047 + move-result-object v2
3049 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3051 + move-result-object v4
3053 + move-object/from16 v0, p5
3055 + invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3057 + move-result-object v5
3059 + if-eqz p4, :cond_24e
3061 + move-object/from16 v0, p4
3063 + iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3072 + move-object/from16 v4, p5
3074 + move-object/from16 v6, p3
3076 + move/from16 v8, p6
3078 + move-object/from16 v12, p7
3080 + 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
3084 + move/from16 v0, v19
3086 + move-object/from16 v1, p5
3088 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3090 + .catch Landroid/os/RemoteException; {:try_start_219 .. :try_end_24b} :catch_250
3108 +.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;
3111 + move-object/from16 v4, p2
3113 + check-cast v4, Landroid/app/IApplicationThread;
3118 + const-string v3, "Instrumentation"
3120 + new-instance v5, Ljava/lang/StringBuilder;
3122 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3124 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): execStartActivity for "
3126 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3128 + move-result-object v5
3130 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3132 + move-result-object v6
3134 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3136 + move-result-object v5
3138 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3140 + move-result-object v5
3142 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3144 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3146 + move-result-object v3
3148 + if-eqz v3, :cond_ba
3150 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3152 + move-result-object v3
3154 + const-string v5, "android.intent.action.CALL"
3156 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3160 + if-nez v3, :cond_40
3162 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3164 + move-result-object v3
3166 + const-string v5, "android.intent.action.DIAL"
3168 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3172 + if-eqz v3, :cond_ba
3177 + const-string v3, "Instrumentation"
3179 + new-instance v5, Ljava/lang/StringBuilder;
3181 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3183 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3185 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3187 + move-result-object v5
3189 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3191 + move-result-object v6
3193 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3195 + move-result-object v5
3197 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3199 + move-result-object v5
3201 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3203 + move-object/from16 v0, p0
3205 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3207 + if-eqz v3, :cond_6e
3209 + move-object/from16 v0, p0
3211 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3213 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3217 + if-nez v3, :cond_12e
3220 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
3222 + const-string/jumbo v5, "privacy"
3224 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3226 + move-result-object v5
3228 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3230 + move-result-object v5
3232 + move-object/from16 v0, p1
3234 + invoke-direct {v3, v0, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3236 + move-object/from16 v0, p0
3238 + iput-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3240 + move-object/from16 v0, p0
3242 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3244 + if-eqz v3, :cond_104
3246 + const-string v3, "Instrumentation"
3248 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Obtained privacy service"
3250 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3253 + move-object/from16 v0, p0
3255 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3257 + if-eqz v3, :cond_a1
3259 + move-object/from16 v0, p0
3261 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3263 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3267 + if-nez v3, :cond_137
3270 + const-string v3, "Instrumentation"
3272 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not available: rejecting call attempt"
3274 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3278 + move-object/from16 v0, p0
3280 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3282 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3284 + move-result-object v5
3288 + const-string/jumbo v7, "phoneCall"
3292 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3294 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_ba} :catch_10c
3298 + move-object/from16 v0, p0
3300 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3302 + if-eqz v3, :cond_207
3304 + move-object/from16 v0, p0
3306 + iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
3311 + move-object/from16 v0, p0
3313 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3315 + invoke-interface {v3}, Ljava/util/List;->size()I
3322 + move/from16 v0, v19
3324 + if-ge v0, v15, :cond_206
3326 + move-object/from16 v0, p0
3328 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3330 + move/from16 v0, v19
3332 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
3334 + move-result-object v17
3336 + check-cast v17, Landroid/app/Instrumentation$ActivityMonitor;
3340 + move-object/from16 v0, v17
3342 + move-object/from16 v1, p1
3344 + move-object/from16 v2, p5
3346 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
3350 + if-eqz v3, :cond_202
3352 + move-object/from16 v0, v17
3354 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3356 + add-int/lit8 v3, v3, 0x1
3358 + move-object/from16 v0, v17
3360 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3362 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
3366 + if-eqz v3, :cond_206
3368 + if-ltz p6, :cond_1ff
3370 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
3372 + move-result-object v3
3377 + .catchall {:try_start_c5 .. :try_end_103} :catchall_221
3384 + const-string v3, "Instrumentation"
3386 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not obtained"
3388 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3390 + .catch Ljava/lang/Exception; {:try_start_104 .. :try_end_10b} :catch_10c
3395 + move-exception v18
3397 + if-eqz p1, :cond_1f4
3399 + const-string v3, "Instrumentation"
3401 + new-instance v5, Ljava/lang/StringBuilder;
3403 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3405 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for "
3407 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3409 + move-result-object v5
3411 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3413 + move-result-object v6
3415 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3417 + move-result-object v5
3419 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3421 + move-result-object v5
3423 + move-object/from16 v0, v18
3425 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3431 + const-string v3, "Instrumentation"
3433 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Already had privacy service"
3435 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3440 + move-object/from16 v0, p0
3442 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3444 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3446 + move-result-object v5
3448 + invoke-virtual {v3, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
3450 + move-result-object v20
3452 + if-nez v20, :cond_175
3454 + const-string v3, "Instrumentation"
3456 + new-instance v5, Ljava/lang/StringBuilder;
3458 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3460 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: No settings for package: "
3462 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3464 + move-result-object v5
3466 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3468 + move-result-object v6
3470 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3472 + move-result-object v5
3474 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3476 + move-result-object v5
3478 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3482 + move-object/from16 v0, p0
3484 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3486 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3488 + move-result-object v5
3492 + const-string/jumbo v7, "phoneCall"
3496 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3501 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3505 + if-nez v3, :cond_1ae
3507 + const-string v3, "Instrumentation"
3509 + new-instance v5, Ljava/lang/StringBuilder;
3511 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3513 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: Settings permit "
3515 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3517 + move-result-object v5
3519 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3521 + move-result-object v6
3523 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3525 + move-result-object v5
3527 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3529 + move-result-object v5
3531 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3535 + move-object/from16 v0, p0
3537 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3539 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3541 + move-result-object v5
3543 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3547 + const-string/jumbo v7, "phoneCall"
3551 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3556 + const-string v3, "Instrumentation"
3558 + new-instance v5, Ljava/lang/StringBuilder;
3560 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3562 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call denied: Settings deny "
3564 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3566 + move-result-object v5
3568 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3570 + move-result-object v6
3572 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3574 + move-result-object v5
3576 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3578 + move-result-object v5
3580 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3582 + move-object/from16 v22, p1
3586 + new-instance v3, Ljava/lang/Thread;
3588 + new-instance v5, Landroid/app/Instrumentation$4;
3590 + move-object/from16 v0, p0
3592 + move-object/from16 v1, v22
3594 + invoke-direct {v5, v0, v1}, Landroid/app/Instrumentation$4;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
3596 + invoke-direct {v3, v5}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
3598 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
3600 + move-object/from16 v0, p0
3602 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3604 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3606 + move-result-object v5
3608 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3612 + const-string/jumbo v7, "phoneCall"
3616 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3618 + .catch Ljava/lang/Exception; {:try_start_12e .. :try_end_1f2} :catch_10c
3623 + const-string v3, "Instrumentation"
3625 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for unknown package"
3627 + move-object/from16 v0, v18
3629 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3639 + add-int/lit8 v19, v19, 0x1
3647 + .catchall {:try_start_206 .. :try_end_207} :catchall_221
3650 + if-nez v16, :cond_224
3653 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
3655 + move/from16 v0, p6
3657 + move-object/from16 v1, p5
3659 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3661 + .catch Ljava/lang/Exception; {:try_start_209 .. :try_end_212} :catch_214
3666 + move-exception v18
3668 + const-string v3, "Instrumentation"
3670 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred while trying to create ActivityResult"
3672 + move-object/from16 v0, v18
3674 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3686 + .catchall {:try_start_222 .. :try_end_223} :catchall_221
3694 + move-object/from16 v0, p5
3696 + invoke-virtual {v0, v3}, Landroid/content/Intent;->setAllowFds(Z)V
3698 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3700 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3702 + move-result-object v3
3704 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3706 + move-result-object v5
3708 + move-object/from16 v0, p5
3710 + invoke-virtual {v0, v5}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3712 + move-result-object v6
3714 + if-eqz p4, :cond_25e
3716 + move-object/from16 v0, p4
3718 + iget-object v8, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3727 + invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
3731 + move-object/from16 v5, p5
3733 + move-object/from16 v7, p3
3735 + move/from16 v9, p6
3737 + move-object/from16 v13, p7
3739 + 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
3743 + move/from16 v0, v21
3745 + move-object/from16 v1, p5
3747 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3749 + .catch Landroid/os/RemoteException; {:try_start_225 .. :try_end_25b} :catch_260
3767 +.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;
3770 + move-object/from16 v3, p2
3772 + check-cast v3, Landroid/app/IApplicationThread;
3777 + const-string v2, "Instrumentation"
3779 + new-instance v4, Ljava/lang/StringBuilder;
3781 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3783 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): execStartActivity for "
3785 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3787 + move-result-object v4
3789 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3791 + move-result-object v5
3793 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3795 + move-result-object v4
3797 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3799 + move-result-object v4
3801 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3803 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3805 + move-result-object v2
3807 + if-eqz v2, :cond_b7
3809 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3811 + move-result-object v2
3813 + const-string v4, "android.intent.action.CALL"
3815 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3819 + if-nez v2, :cond_3f
3821 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3823 + move-result-object v2
3825 + const-string v4, "android.intent.action.DIAL"
3827 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3831 + if-eqz v2, :cond_b7
3836 + const-string v2, "Instrumentation"
3838 + new-instance v4, Ljava/lang/StringBuilder;
3840 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3842 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3844 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3846 + move-result-object v4
3848 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3850 + move-result-object v5
3852 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3854 + move-result-object v4
3856 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3858 + move-result-object v4
3860 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3862 + move-object/from16 v0, p0
3864 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3866 + if-eqz v2, :cond_6c
3868 + move-object/from16 v0, p0
3870 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3872 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3876 + if-nez v2, :cond_125
3879 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
3881 + const-string/jumbo v4, "privacy"
3883 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3885 + move-result-object v4
3887 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3889 + move-result-object v4
3891 + move-object/from16 v0, p1
3893 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3895 + move-object/from16 v0, p0
3897 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3899 + move-object/from16 v0, p0
3901 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3903 + if-eqz v2, :cond_fb
3905 + const-string v2, "Instrumentation"
3907 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Obtained privacy service"
3909 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3912 + move-object/from16 v0, p0
3914 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3916 + if-eqz v2, :cond_9f
3918 + move-object/from16 v0, p0
3920 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3922 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3926 + if-nez v2, :cond_12e
3929 + const-string v2, "Instrumentation"
3931 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not available: rejecting call attempt"
3933 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3937 + move-object/from16 v0, p0
3939 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3941 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3943 + move-result-object v4
3947 + const-string/jumbo v6, "phoneCall"
3951 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3953 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b7} :catch_103
3957 + move-object/from16 v0, p0
3959 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3961 + if-eqz v2, :cond_1fb
3963 + move-object/from16 v0, p0
3965 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
3970 + move-object/from16 v0, p0
3972 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3974 + invoke-interface {v2}, Ljava/util/List;->size()I
3981 + move/from16 v0, v17
3983 + if-ge v0, v13, :cond_1fa
3985 + move-object/from16 v0, p0
3987 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3989 + move/from16 v0, v17
3991 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
3993 + move-result-object v15
3995 + check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
3999 + move-object/from16 v0, p1
4001 + move-object/from16 v1, p5
4003 + invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
4007 + if-eqz v2, :cond_1f6
4009 + iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
4011 + add-int/lit8 v2, v2, 0x1
4013 + iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
4015 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
4019 + if-eqz v2, :cond_1fa
4021 + if-ltz p6, :cond_1f3
4023 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
4025 + move-result-object v2
4030 + .catchall {:try_start_c2 .. :try_end_fa} :catchall_215
4037 + const-string v2, "Instrumentation"
4039 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not obtained"
4041 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4043 + .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_102} :catch_103
4048 + move-exception v16
4050 + if-eqz p1, :cond_1e8
4052 + const-string v2, "Instrumentation"
4054 + new-instance v4, Ljava/lang/StringBuilder;
4056 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4058 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for "
4060 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4062 + move-result-object v4
4064 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4066 + move-result-object v5
4068 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4070 + move-result-object v4
4072 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4074 + move-result-object v4
4076 + move-object/from16 v0, v16
4078 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4084 + const-string v2, "Instrumentation"
4086 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Already had privacy service"
4088 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4093 + move-object/from16 v0, p0
4095 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4097 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4099 + move-result-object v4
4101 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
4103 + move-result-object v18
4105 + if-nez v18, :cond_16b
4107 + const-string v2, "Instrumentation"
4109 + new-instance v4, Ljava/lang/StringBuilder;
4111 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4113 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: No settings for package: "
4115 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4117 + move-result-object v4
4119 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4121 + move-result-object v5
4123 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4125 + move-result-object v4
4127 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4129 + move-result-object v4
4131 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4135 + move-object/from16 v0, p0
4137 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4139 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4141 + move-result-object v4
4145 + const-string/jumbo v6, "phoneCall"
4149 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4154 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4158 + if-nez v2, :cond_1a3
4160 + const-string v2, "Instrumentation"
4162 + new-instance v4, Ljava/lang/StringBuilder;
4164 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4166 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: Settings permit "
4168 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4170 + move-result-object v4
4172 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4174 + move-result-object v5
4176 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4178 + move-result-object v4
4180 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4182 + move-result-object v4
4184 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4188 + move-object/from16 v0, p0
4190 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4192 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4194 + move-result-object v4
4196 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4200 + const-string/jumbo v6, "phoneCall"
4204 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4209 + const-string v2, "Instrumentation"
4211 + new-instance v4, Ljava/lang/StringBuilder;
4213 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4215 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call denied: Settings deny "
4217 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4219 + move-result-object v4
4221 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4223 + move-result-object v5
4225 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4227 + move-result-object v4
4229 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4231 + move-result-object v4
4233 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4235 + move-object/from16 v20, p1
4239 + new-instance v2, Ljava/lang/Thread;
4241 + new-instance v4, Landroid/app/Instrumentation$3;
4243 + move-object/from16 v0, p0
4245 + move-object/from16 v1, v20
4247 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$3;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
4249 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
4251 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
4253 + move-object/from16 v0, p0
4255 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4257 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4259 + move-result-object v4
4261 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4265 + const-string/jumbo v6, "phoneCall"
4269 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4271 + .catch Ljava/lang/Exception; {:try_start_125 .. :try_end_1e6} :catch_103
4276 + const-string v2, "Instrumentation"
4278 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for unknown package"
4280 + move-object/from16 v0, v16
4282 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4292 + add-int/lit8 v17, v17, 0x1
4300 + .catchall {:try_start_1fa .. :try_end_1fb} :catchall_215
4303 + if-nez v14, :cond_218
4306 + new-instance v2, Landroid/app/Instrumentation$ActivityResult;
4308 + move/from16 v0, p6
4310 + move-object/from16 v1, p5
4312 + invoke-direct {v2, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
4314 + .catch Ljava/lang/Exception; {:try_start_1fd .. :try_end_206} :catch_208
4319 + move-exception v16
4321 + const-string v2, "Instrumentation"
4323 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred while trying to create ActivityResult"
4325 + move-object/from16 v0, v16
4327 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4343 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
4345 + .catchall {:try_start_216 .. :try_end_217} :catchall_215
4354 + move-object/from16 v0, p5
4356 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
4358 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
4360 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
4362 + move-result-object v2
4364 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
4366 + move-result-object v4
4368 + move-object/from16 v0, p5
4370 + invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
4372 + move-result-object v5
4374 + if-eqz p4, :cond_24e
4376 + move-object/from16 v0, p4
4378 + iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
4387 + move-object/from16 v4, p5
4389 + move-object/from16 v6, p3
4391 + move/from16 v8, p6
4393 + move-object/from16 v12, p7
4395 + 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
4399 + move/from16 v0, v19
4401 + move-object/from16 v1, p5
4403 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
4405 + .catch Landroid/os/RemoteException; {:try_start_219 .. :try_end_24b} :catch_250
4426 .method public finish(ILandroid/os/Bundle;)V
4427 diff -Npru stock-framework/smali/android/content/AsyncTaskLoader.smali opd-framework/smali/android/content/AsyncTaskLoader.smali
4428 --- stock-framework/smali/android/content/AsyncTaskLoader.smali 2013-01-08 23:29:02.452083519 -0600
4429 +++ opd-framework/smali/android/content/AsyncTaskLoader.smali 2013-01-08 23:29:41.364276472 -0600
4430 @@ -221,11 +221,11 @@
4434 - if-eqz v0, :cond_63
4435 + if-eqz v0, :cond_64
4437 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4439 - const-string v0, "mUpdateThrottle="
4440 + const-string/jumbo v0, "mUpdateThrottle="
4442 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4446 invoke-virtual {p3}, Ljava/io/PrintWriter;->println()V
4453 diff -Npru stock-framework/smali/android/content/ContentProviderOperation.smali opd-framework/smali/android/content/ContentProviderOperation.smali
4454 --- stock-framework/smali/android/content/ContentProviderOperation.smali 2013-01-08 23:29:02.520083861 -0600
4455 +++ opd-framework/smali/android/content/ContentProviderOperation.smali 2013-01-08 23:29:41.444276871 -0600
4456 @@ -1216,7 +1216,7 @@
4458 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
4460 - const-string v1, "mType: "
4461 + const-string/jumbo v1, "mType: "
4463 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4465 diff -Npru stock-framework/smali/android/content/ContentResolver.smali opd-framework/smali/android/content/ContentResolver.smali
4466 --- stock-framework/smali/android/content/ContentResolver.smali 2013-01-08 23:29:01.772080147 -0600
4467 +++ opd-framework/smali/android/content/ContentResolver.smali 2013-01-08 23:29:40.484272115 -0600
4468 @@ -3541,8 +3541,8 @@
4470 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
4472 - .catchall {:try_start_a .. :try_end_1d} :catchall_b9
4473 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
4474 + .catchall {:try_start_a .. :try_end_1d} :catchall_d5
4475 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_c2
4478 move-object/from16 v4, p1
4479 @@ -3557,25 +3557,39 @@
4482 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;
4484 - .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
4485 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
4486 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
4488 move-result-object v19
4491 - if-nez v19, :cond_6c
4492 + move-object/from16 v0, p0
4494 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4496 + move-object/from16 v0, p1
4498 + move-object/from16 v1, p2
4500 + move-object/from16 v2, v19
4502 + 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;
4504 + .catchall {:try_start_27 .. :try_end_38} :catchall_d5
4505 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_38} :catch_4c
4506 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_38} :catch_c2
4508 + move-result-object v19
4511 + if-nez v19, :cond_88
4515 - if-eqz v3, :cond_36
4516 + if-eqz v3, :cond_44
4518 move-object/from16 v0, p0
4520 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4526 move-object/from16 v0, p0
4527 @@ -3584,32 +3598,32 @@
4537 move-object/from16 v0, p0
4539 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
4541 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4543 - .catchall {:try_start_3f .. :try_end_47} :catchall_b9
4544 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
4546 + .catchall {:try_start_4d .. :try_end_55} :catchall_d5
4547 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_c2
4549 move-result-object v10
4551 - if-nez v10, :cond_5b
4552 + if-nez v10, :cond_69
4556 - if-eqz v3, :cond_53
4557 + if-eqz v3, :cond_61
4559 move-object/from16 v0, p0
4561 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4567 move-object/from16 v0, p0
4568 @@ -3618,7 +3632,7 @@
4574 move-object/from16 v11, p1
4576 move-object/from16 v12, p2
4577 @@ -3631,14 +3645,28 @@
4579 move-object/from16 v16, v9
4583 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;
4585 move-result-object v19
4588 + move-object/from16 v0, p0
4590 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4592 + move-object/from16 v0, p1
4594 + move-object/from16 v1, p2
4596 + move-object/from16 v2, v19
4598 + 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;
4600 + move-result-object v19
4606 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
4608 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
4609 @@ -3661,11 +3689,11 @@
4611 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
4613 - if-eqz v10, :cond_a1
4614 + if-eqz v10, :cond_bd
4620 move-object/from16 v0, v22
4622 move-object/from16 v1, p0
4623 @@ -3673,19 +3701,19 @@
4624 move-object/from16 v2, v19
4626 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
4628 - .catchall {:try_start_67 .. :try_end_90} :catchall_b9
4629 - .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
4631 + .catchall {:try_start_75 .. :try_end_ac} :catchall_d5
4632 + .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_ac} :catch_c2
4636 - if-eqz v3, :cond_98
4637 + if-eqz v3, :cond_b4
4639 move-object/from16 v0, p0
4641 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4647 move-object/from16 v0, p0
4648 @@ -3694,29 +3722,29 @@
4656 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4658 - .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
4659 - .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
4661 + .catchall {:try_start_bd .. :try_end_c0} :catchall_d5
4662 + .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c0} :catch_c2
4664 move-result-object v4
4675 - if-eqz v3, :cond_b0
4676 + if-eqz v3, :cond_cc
4678 move-object/from16 v0, p0
4680 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4686 move-object/from16 v0, p0
4687 @@ -3725,23 +3753,23 @@
4695 - if-eqz v3, :cond_c1
4696 + if-eqz v3, :cond_dd
4698 move-object/from16 v0, p0
4700 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4703 - if-eqz v10, :cond_c8
4705 + if-eqz v10, :cond_e4
4707 move-object/from16 v0, p0
4709 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4716 diff -Npru stock-framework/smali/android/content/CursorLoader.smali opd-framework/smali/android/content/CursorLoader.smali
4717 --- stock-framework/smali/android/content/CursorLoader.smali 2013-01-08 23:29:02.564084072 -0600
4718 +++ opd-framework/smali/android/content/CursorLoader.smali 2013-01-08 23:29:41.512277205 -0600
4721 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4723 - const-string v0, "mUri="
4724 + const-string/jumbo v0, "mUri="
4726 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4728 diff -Npru stock-framework/smali/android/content/pm/VerificationParams.smali opd-framework/smali/android/content/pm/VerificationParams.smali
4729 --- stock-framework/smali/android/content/pm/VerificationParams.smali 2013-01-08 23:29:02.788085185 -0600
4730 +++ opd-framework/smali/android/content/pm/VerificationParams.smali 2013-01-08 23:29:41.912279191 -0600
4733 invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
4735 - const-string v1, "mVerificationURI="
4736 + const-string/jumbo v1, "mVerificationURI="
4738 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4740 diff -Npru stock-framework/smali/android/hardware/Camera$EventHandler.smali opd-framework/smali/android/hardware/Camera$EventHandler.smali
4741 --- stock-framework/smali/android/hardware/Camera$EventHandler.smali 2013-01-08 23:29:03.416088304 -0600
4742 +++ opd-framework/smali/android/hardware/Camera$EventHandler.smali 2013-01-08 23:29:42.576282481 -0600
4743 @@ -36,418 +36,644 @@
4746 .method public handleMessage(Landroid/os/Message;)V
4753 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4755 + #getter for: Landroid/hardware/Camera;->privacyMode:Z
4756 + invoke-static {v0}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Z
4760 + if-nez v0, :cond_e
4762 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4764 + #calls: Landroid/hardware/Camera;->initiate()V
4765 + invoke-static {v0}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)V
4768 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4770 + #calls: Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
4771 + invoke-static {v0}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
4773 + move-result-object v10
4775 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4777 + #calls: Landroid/hardware/Camera;->checkIfPackagesAllowed()I
4778 + invoke-static {v0}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)I
4784 + if-ne v0, v1, :cond_68
4788 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4792 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
4793 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
4795 + if-eqz v10, :cond_48
4797 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4799 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4800 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4802 + move-result-object v0
4806 + aget-object v1, v10, v1
4810 - iget v4, p1, Landroid/os/Message;->what:I
4813 + const-string v4, "camera"
4817 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4819 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4820 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4822 + move-result-object v6
4826 + aget-object v12, v10, v12
4828 + invoke-static {}, Landroid/os/Process;->myUid()I
4832 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4834 - sparse-switch v4, :sswitch_data_158
4835 + move-result-object v6
4837 - const-string v3, "Camera"
4838 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
4840 - new-instance v4, Ljava/lang/StringBuilder;
4843 + iget v0, p1, Landroid/os/Message;->what:I
4845 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4846 + sparse-switch v0, :sswitch_data_218
4848 - const-string v5, "Unknown message type "
4849 + const-string v0, "Camera"
4851 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4852 + new-instance v1, Ljava/lang/StringBuilder;
4854 - move-result-object v4
4855 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4857 - iget v5, p1, Landroid/os/Message;->what:I
4858 + const-string v2, "Unknown message type "
4860 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4861 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4863 - move-result-object v4
4864 + move-result-object v1
4866 + iget v2, p1, Landroid/os/Message;->what:I
4868 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4870 + move-result-object v1
4872 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4873 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4875 - move-result-object v4
4876 + move-result-object v1
4878 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4879 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4888 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4890 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4894 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
4895 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
4897 + if-eqz v10, :cond_48
4899 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4901 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4902 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4904 + move-result-object v0
4908 + aget-object v1, v10, v1
4914 + const-string v4, "camera"
4918 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4920 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4921 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4923 + move-result-object v6
4927 + aget-object v12, v10, v12
4929 + invoke-static {}, Landroid/os/Process;->myUid()I
4933 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4935 + move-result-object v6
4937 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
4942 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4944 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4945 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4946 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4948 - move-result-object v3
4949 + move-result-object v0
4951 - if-eqz v3, :cond_21
4952 + if-eqz v0, :cond_67
4954 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4955 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4957 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4958 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4959 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4961 - move-result-object v3
4962 + move-result-object v0
4964 - invoke-interface {v3}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
4965 + invoke-interface {v0}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
4971 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4973 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4975 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4976 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4977 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4979 + move-result-object v0
4981 - move-result-object v3
4982 + if-eqz v0, :cond_67
4984 - if-eqz v3, :cond_21
4985 + if-eqz v7, :cond_c1
4987 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4988 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4990 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4991 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4992 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4994 - move-result-object v4
4995 + move-result-object v1
4997 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
4998 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5006 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5007 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5009 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5010 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)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 {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5023 + move-result-object v0
5027 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5029 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5034 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5036 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5037 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5038 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5040 - move-result-object v3
5041 + move-result-object v0
5043 - if-eqz v3, :cond_21
5044 + if-eqz v0, :cond_67
5046 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5047 + if-eqz v7, :cond_eb
5049 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5051 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5052 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5053 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5055 - move-result-object v4
5056 + move-result-object v1
5058 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5059 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5067 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5068 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5070 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5071 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5077 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5079 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5081 - #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5082 - invoke-static {v4}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5083 + #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5084 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5086 + move-result-object v0
5088 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5090 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5091 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5093 move-result-object v1
5095 - if-eqz v1, :cond_21
5096 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5098 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5100 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5104 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5106 + #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5107 + invoke-static {v0}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5109 + move-result-object v9
5111 + if-eqz v9, :cond_67
5113 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5115 #getter for: Landroid/hardware/Camera;->mOneShot:Z
5116 - invoke-static {v4}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;)Z
5117 + invoke-static {v0}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Z
5122 - if-eqz v4, :cond_8a
5123 + if-eqz v0, :cond_123
5125 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5126 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5131 #setter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5132 - invoke-static {v3, v4}, Landroid/hardware/Camera;->access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5133 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5137 + if-eqz v7, :cond_133
5141 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5142 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5150 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5151 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5153 - invoke-interface {v1, v3, v4}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5154 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5160 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5162 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5164 #getter for: Landroid/hardware/Camera;->mWithBuffer:Z
5165 - invoke-static {v4}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Z
5166 + invoke-static {v0}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Z
5170 + if-nez v0, :cond_114
5173 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5175 - if-nez v4, :cond_7e
5178 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5181 #calls: Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5182 - invoke-static {v4, v3, v2}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;ZZ)V
5183 + invoke-static {v0, v1, v2}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;ZZ)V
5188 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5191 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5192 + invoke-static {v0}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5194 + move-result-object v0
5197 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5198 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5200 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5205 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5207 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5208 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5209 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5211 - move-result-object v3
5212 + move-result-object v0
5214 - if-eqz v3, :cond_21
5215 + if-eqz v0, :cond_67
5217 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5218 + if-eqz v7, :cond_15d
5220 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5222 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5223 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5224 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5226 - move-result-object v4
5227 + move-result-object v1
5229 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5230 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5238 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5239 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5241 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5242 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([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 {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5255 + move-result-object v0
5257 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5259 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5260 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5262 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5263 + move-result-object v1
5265 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5267 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5274 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5276 #getter for: Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5277 - invoke-static {v4}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5278 + invoke-static {v0}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5280 - move-result-object v4
5281 + move-result-object v1
5287 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5289 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5291 #getter for: Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5292 - invoke-static {v5}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5293 + invoke-static {v0}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5295 - move-result-object v0
5296 + move-result-object v8
5300 - .catchall {:try_start_bb .. :try_end_c2} :catchall_cf
5303 + .catchall {:try_start_178 .. :try_end_17f} :catchall_18d
5305 - if-eqz v0, :cond_21
5306 + if-eqz v8, :cond_67
5308 - iget v4, p1, Landroid/os/Message;->arg1:I
5309 + iget v0, p1, Landroid/os/Message;->arg1:I
5311 - if-nez v4, :cond_d2
5312 + if-nez v0, :cond_190
5315 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5318 - invoke-interface {v0, v2, v3}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5320 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5323 + invoke-interface {v8, v11, v0}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5332 - .catchall {:try_start_d0 .. :try_end_d1} :catchall_cf
5340 + .catchall {:try_start_18e .. :try_end_18f} :catchall_18d
5351 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5355 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5357 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5358 - invoke-static {v4}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5359 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5361 - move-result-object v4
5362 + move-result-object v0
5364 - if-eqz v4, :cond_21
5365 + if-eqz v0, :cond_67
5367 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5368 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5370 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5371 - invoke-static {v4}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5372 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5374 - move-result-object v4
5375 + move-result-object v1
5377 - iget v5, p1, Landroid/os/Message;->arg1:I
5378 + iget v2, p1, Landroid/os/Message;->arg1:I
5380 - iget v6, p1, Landroid/os/Message;->arg2:I
5381 + iget v0, p1, Landroid/os/Message;->arg2:I
5383 - if-eqz v6, :cond_ef
5384 + if-eqz v0, :cond_1ae
5387 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5390 - invoke-interface {v4, v5, v3, v6}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5392 + iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5395 + invoke-interface {v1, v2, v0, v3}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5406 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5410 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5412 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5413 - invoke-static {v3}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5414 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5416 - move-result-object v3
5417 + move-result-object v0
5419 - if-eqz v3, :cond_21
5420 + if-eqz v0, :cond_67
5422 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5423 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5425 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5426 - invoke-static {v3}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5427 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5429 - move-result-object v4
5430 + move-result-object v1
5432 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5433 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5435 - check-cast v3, [Landroid/hardware/Camera$Face;
5436 + check-cast v0, [Landroid/hardware/Camera$Face;
5438 - check-cast v3, [Landroid/hardware/Camera$Face;
5439 + check-cast v0, [Landroid/hardware/Camera$Face;
5441 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5442 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5444 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5445 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5451 - const-string v3, "Camera"
5453 + const-string v0, "Camera"
5455 - new-instance v4, Ljava/lang/StringBuilder;
5456 + new-instance v1, Ljava/lang/StringBuilder;
5458 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
5459 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
5461 - const-string v5, "Error "
5462 + const-string v2, "Error "
5464 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5465 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5467 - move-result-object v4
5468 + move-result-object v1
5470 - iget v5, p1, Landroid/os/Message;->arg1:I
5471 + iget v2, p1, Landroid/os/Message;->arg1:I
5473 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5474 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5476 - move-result-object v4
5477 + move-result-object v1
5479 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5480 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5482 - move-result-object v4
5483 + move-result-object v1
5485 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5486 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5488 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5489 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5491 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5492 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5493 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5495 - move-result-object v3
5496 + move-result-object v0
5498 - if-eqz v3, :cond_21
5499 + if-eqz v0, :cond_67
5501 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5502 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5504 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5505 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5506 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5508 - move-result-object v3
5509 + move-result-object v0
5511 - iget v4, p1, Landroid/os/Message;->arg1:I
5512 + iget v1, p1, Landroid/os/Message;->arg1:I
5514 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5515 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5517 - invoke-interface {v3, v4, v5}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5518 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5524 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5526 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5528 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5529 - invoke-static {v4}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5530 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5532 - move-result-object v4
5533 + move-result-object v0
5535 - if-eqz v4, :cond_21
5536 + if-eqz v0, :cond_67
5538 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5539 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5541 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5542 - invoke-static {v4}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5543 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5545 - move-result-object v4
5546 + move-result-object v1
5548 - iget v5, p1, Landroid/os/Message;->arg1:I
5549 + iget v0, p1, Landroid/os/Message;->arg1:I
5551 - if-nez v5, :cond_156
5552 + if-nez v0, :cond_216
5555 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5559 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5561 - invoke-interface {v4, v2, v3}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5562 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5578 - 0x1 -> :sswitch_10c
5579 - 0x2 -> :sswitch_22
5580 - 0x4 -> :sswitch_b3
5581 - 0x8 -> :sswitch_d4
5582 - 0x10 -> :sswitch_68
5583 - 0x40 -> :sswitch_98
5584 - 0x80 -> :sswitch_34
5585 - 0x100 -> :sswitch_4e
5586 - 0x400 -> :sswitch_f1
5587 - 0x800 -> :sswitch_13d
5588 + 0x1 -> :sswitch_1cb
5589 + 0x2 -> :sswitch_93
5590 + 0x4 -> :sswitch_170
5591 + 0x8 -> :sswitch_192
5592 + 0x10 -> :sswitch_fe
5593 + 0x40 -> :sswitch_140
5594 + 0x80 -> :sswitch_a5
5595 + 0x100 -> :sswitch_ce
5596 + 0x400 -> :sswitch_1b0
5597 + 0x800 -> :sswitch_1fc
5600 diff -Npru stock-framework/smali/android/hardware/Camera.smali opd-framework/smali/android/hardware/Camera.smali
5601 --- stock-framework/smali/android/hardware/Camera.smali 2013-01-08 23:29:03.424088338 -0600
5602 +++ opd-framework/smali/android/hardware/Camera.smali 2013-01-08 23:29:42.584282529 -0600
5605 .field private static final CAMERA_MSG_ZOOM:I = 0x8
5607 +.field private static final GOT_ERROR:I = -0x3
5609 +.field private static final IS_ALLOWED:I = -0x1
5611 +.field private static final IS_NOT_ALLOWED:I = -0x2
5613 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,Camera"
5615 .field private static final TAG:Ljava/lang/String; = "Camera"
5619 +.field private context:Landroid/content/Context;
5621 .field private mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5623 .field private mAutoFocusCallbackLock:Ljava/lang/Object;
5626 .field private mOneShot:Z
5628 +.field private mPm:Landroid/content/pm/IPackageManager;
5630 .field private mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5632 .field private mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5633 @@ -98,16 +110,20 @@
5635 .field private mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5637 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
5639 +.field private privacyMode:Z
5643 .method constructor <init>()V
5647 - invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5651 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5653 - iput-boolean v0, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5654 + iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5656 new-instance v0, Ljava/lang/Object;
5658 @@ -115,19 +131,21 @@
5660 iput-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5662 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
5667 .method constructor <init>(I)V
5675 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5679 - iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5680 + iput-boolean v3, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5682 new-instance v1, Ljava/lang/Object;
5686 iput-object v1, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5688 + iput-boolean v3, p0, Landroid/hardware/Camera;->privacyMode:Z
5690 iput-object v2, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5692 iput-object v2, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5693 @@ -147,11 +167,13 @@
5695 iput-object v2, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5697 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
5699 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
5701 move-result-object v0
5703 - if-eqz v0, :cond_30
5704 + if-eqz v0, :cond_35
5706 new-instance v1, Landroid/hardware/Camera$EventHandler;
5710 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5714 new-instance v1, Ljava/lang/ref/WeakReference;
5716 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
5717 @@ -168,12 +190,12 @@
5723 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
5725 move-result-object v0
5727 - if-eqz v0, :cond_3e
5728 + if-eqz v0, :cond_43
5730 new-instance v1, Landroid/hardware/Camera$EventHandler;
5732 @@ -181,12 +203,12 @@
5734 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5741 iput-object v2, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5747 .method private final native _addCallbackBuffer([BI)V
5748 @@ -207,122 +229,184 @@
5749 .method private final native _stopPreview()V
5752 -.method static synthetic access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5753 +.method static synthetic access$000(Landroid/hardware/Camera;)Z
5756 - iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5757 + iget-boolean v0, p0, Landroid/hardware/Camera;->privacyMode:Z
5763 -.method static synthetic access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5764 +.method static synthetic access$100(Landroid/hardware/Camera;)V
5767 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
5772 +.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5775 - iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5776 + iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5781 -.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5782 +.method static synthetic access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5785 - iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5786 + iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5791 +.method static synthetic access$1100(Landroid/hardware/Camera;)Z
5794 + iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
5799 +.method static synthetic access$1200(Landroid/hardware/Camera;)Z
5802 + iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
5807 +.method static synthetic access$1300(Landroid/hardware/Camera;ZZ)V
5810 + invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5815 +.method static synthetic access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5818 + iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5823 -.method static synthetic access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5824 +.method static synthetic access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5827 - iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5828 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5833 -.method static synthetic access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5834 +.method static synthetic access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5837 - iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5838 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5843 -.method static synthetic access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5844 +.method static synthetic access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5847 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5848 + iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5853 -.method static synthetic access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5854 +.method static synthetic access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5857 - iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5858 + iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5863 -.method static synthetic access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5864 +.method static synthetic access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5867 - iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5868 + iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5873 -.method static synthetic access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5874 +.method static synthetic access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
5877 - iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5878 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5881 + move-result-object v0
5886 -.method static synthetic access$400(Landroid/hardware/Camera;)Z
5887 +.method static synthetic access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5890 - iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
5891 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5897 -.method static synthetic access$500(Landroid/hardware/Camera;)Z
5898 +.method static synthetic access$300(Landroid/hardware/Camera;)I
5901 - iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
5902 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
5909 -.method static synthetic access$600(Landroid/hardware/Camera;ZZ)V
5911 +.method static synthetic access$400(Landroid/hardware/Camera;Z)V
5914 - invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5915 + invoke-direct {p0, p1}, Landroid/hardware/Camera;->dataAccess(Z)V
5920 +.method static synthetic access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5923 + iget-object v0, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5928 +.method static synthetic access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5931 + iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5936 .method static synthetic access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5939 - iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5940 + iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5945 -.method static synthetic access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5946 +.method static synthetic access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5949 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5950 + iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5955 -.method static synthetic access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5956 +.method static synthetic access$900(Landroid/hardware/Camera;)[B
5959 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5960 + invoke-direct {p0}, Landroid/hardware/Camera;->getFakeImage()[B
5962 + move-result-object v0
5966 @@ -368,6 +452,205 @@
5970 +.method private checkIfPackagesAllowed()I
5976 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5978 + if-eqz v6, :cond_41
5982 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5984 + move-result-object v3
5986 + invoke-static {}, Landroid/os/Process;->myUid()I
5990 + if-eqz v3, :cond_2c
5995 + array-length v6, v3
5997 + if-ge v1, v6, :cond_2a
5999 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6001 + aget-object v7, v3, v1
6003 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6005 + move-result-object v2
6007 + if-eqz v2, :cond_26
6009 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
6013 + if-eqz v6, :cond_26
6023 + add-int/lit8 v1, v1, 0x1
6033 + const-string v6, "PM,Camera"
6035 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
6037 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6039 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
6046 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6048 + const-string v6, "PM,Camera"
6050 + const-string v7, "Got exception in checkIfPackagesAllowed"
6052 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6058 + const-string v6, "PM,Camera"
6060 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
6062 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6064 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
6069 +.method private dataAccess(Z)V
6072 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
6074 + move-result-object v1
6076 + if-eqz p1, :cond_2f
6078 + if-eqz v1, :cond_2f
6083 + array-length v2, v1
6085 + if-ge v0, v2, :cond_58
6087 + const-string v2, "PM,Camera"
6089 + new-instance v3, Ljava/lang/StringBuilder;
6091 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6093 + const-string v4, "Allowed Package: -"
6095 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6097 + move-result-object v3
6099 + aget-object v4, v1, v0
6101 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6103 + move-result-object v3
6105 + const-string v4, "- accessing camera."
6107 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6109 + move-result-object v3
6111 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6113 + move-result-object v3
6115 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6117 + add-int/lit8 v0, v0, 0x1
6122 + if-eqz v1, :cond_58
6127 + array-length v2, v1
6129 + if-ge v0, v2, :cond_58
6131 + const-string v2, "PM,Camera"
6133 + new-instance v3, Ljava/lang/StringBuilder;
6135 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6137 + const-string v4, "Blocked Package: -"
6139 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6141 + move-result-object v3
6143 + aget-object v4, v1, v0
6145 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6147 + move-result-object v3
6149 + const-string v4, "- accessing camera."
6151 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6153 + move-result-object v3
6155 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6157 + move-result-object v3
6159 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6161 + add-int/lit8 v0, v0, 0x1
6169 .method private native enableFocusMoveCallback(I)V
6172 @@ -433,9 +716,193 @@
6176 +.method private getFakeImage()[B
6180 + const-string v2, "/system/media/PDroid.jpeg"
6182 + new-instance v5, Ljava/io/File;
6184 + invoke-direct {v5, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6188 + new-instance v3, Ljava/io/FileInputStream;
6190 + invoke-direct {v3, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
6192 + invoke-static {v3}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
6194 + move-result-object v0
6196 + new-instance v4, Ljava/io/ByteArrayOutputStream;
6198 + invoke-direct {v4}, Ljava/io/ByteArrayOutputStream;-><init>()V
6200 + sget-object v6, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
6204 + invoke-virtual {v0, v6, v7, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
6206 + invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
6208 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_20} :catch_22
6210 + move-result-object v6
6218 + const-string v6, "PM,Camera"
6220 + const-string/jumbo v7, "something went wrong with getting the picture!"
6222 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6224 + invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
6231 .method public static native getNumberOfCameras()I
6234 +.method private getPackageName()[Ljava/lang/String;
6238 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6240 + if-eqz v3, :cond_f
6242 + invoke-static {}, Landroid/os/Process;->myUid()I
6246 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6248 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6250 + move-result-object v1
6256 + const-string/jumbo v3, "package"
6258 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6260 + move-result-object v3
6262 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6264 + move-result-object v3
6266 + iput-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6268 + invoke-static {}, Landroid/os/Process;->myUid()I
6272 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6274 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6276 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6278 + move-result-object v1
6285 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6287 + const-string v3, "PM,Camera"
6289 + const-string/jumbo v4, "something went wrong with getting package name"
6291 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6298 +.method private initiate()V
6304 + iput-object v1, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6306 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6308 + iget-object v2, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6310 + const-string/jumbo v3, "privacy"
6312 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6314 + move-result-object v3
6316 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6318 + move-result-object v3
6320 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6322 + iput-object v1, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6324 + const-string/jumbo v1, "package"
6326 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6328 + move-result-object v1
6330 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6332 + move-result-object v1
6334 + iput-object v1, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6338 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6340 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6348 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6350 + const-string v1, "PM,Camera"
6352 + const-string v2, "Something went wrong with initalize variables"
6354 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6358 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6363 .method private final native native_autoFocus()V
6366 @@ -1018,7 +1485,7 @@
6369 .method public final takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
6373 iput-object p1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6375 @@ -1028,36 +1495,62 @@
6377 iput-object p4, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6379 + iget-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6381 + if-nez v1, :cond_f
6383 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
6386 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
6392 + if-ne v1, v2, :cond_20
6396 + iput-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6398 + const-string v1, "PM,Camera"
6400 + const-string v2, "blocked rawImageCallback -> it will never be called!"
6402 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6407 iget-object v1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6409 - if-eqz v1, :cond_f
6410 + if-eqz v1, :cond_27
6412 or-int/lit8 v0, v0, 0x2
6416 iget-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6418 - if-eqz v1, :cond_15
6419 + if-eqz v1, :cond_2d
6421 or-int/lit16 v0, v0, 0x80
6425 iget-object v1, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
6427 - if-eqz v1, :cond_1b
6428 + if-eqz v1, :cond_33
6430 or-int/lit8 v0, v0, 0x40
6434 iget-object v1, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6436 - if-eqz v1, :cond_21
6437 + if-eqz v1, :cond_39
6439 or-int/lit16 v0, v0, 0x100
6443 invoke-direct {p0, v0}, Landroid/hardware/Camera;->native_takePicture(I)V
6446 diff -Npru stock-framework/smali/android/media/AudioRecord.smali opd-framework/smali/android/media/AudioRecord.smali
6447 --- stock-framework/smali/android/media/AudioRecord.smali 2013-01-08 23:29:03.624089327 -0600
6448 +++ opd-framework/smali/android/media/AudioRecord.smali 2013-01-08 23:29:42.816283671 -0600
6451 .field public static final ERROR_INVALID_OPERATION:I = -0x3
6453 +.field private static final GOT_ERROR:I = -0x3
6455 +.field private static final IS_ALLOWED:I = -0x1
6457 +.field private static final IS_NOT_ALLOWED:I = -0x2
6459 .field private static final NATIVE_EVENT_MARKER:I = 0x2
6461 .field private static final NATIVE_EVENT_NEW_POS:I = 0x3
6463 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,AudioRecord"
6465 .field public static final RECORDSTATE_RECORDING:I = 0x3
6467 .field public static final RECORDSTATE_STOPPED:I = 0x1
6472 +.field private context:Landroid/content/Context;
6474 .field private mAudioFormat:I
6476 .field private mChannelConfiguration:I
6479 .field private mNativeRecorderInJavaObj:I
6481 +.field private mPm:Landroid/content/pm/IPackageManager;
6483 .field private mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
6485 .field private final mPositionListenerLock:Ljava/lang/Object;
6488 .field private mState:I
6490 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
6492 +.field private privacyMode:Z
6496 .method public constructor <init>(IIIII)V
6497 @@ -159,6 +175,10 @@
6501 + iput-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
6505 iput v0, p0, Landroid/media/AudioRecord;->mState:I
6510 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
6512 - if-nez v0, :cond_4f
6513 + if-nez v0, :cond_52
6515 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
6519 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
6523 invoke-direct {p0, p1, p2, p3, p4}, Landroid/media/AudioRecord;->audioParamCheck(IIII)V
6525 invoke-direct {p0, p5}, Landroid/media/AudioRecord;->audioBuffSizeCheck(I)V
6530 - if-eqz v8, :cond_8f
6531 + if-eqz v8, :cond_92
6533 new-instance v0, Ljava/lang/StringBuilder;
6535 @@ -242,10 +262,12 @@
6537 invoke-static {v0}, Landroid/media/AudioRecord;->loge(Ljava/lang/String;)V
6545 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
6552 iput v0, p0, Landroid/media/AudioRecord;->mState:I
6558 .method static synthetic access$000(Landroid/media/AudioRecord;)Ljava/lang/Object;
6559 @@ -459,6 +481,205 @@
6563 +.method private checkIfPackagesAllowed()I
6569 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6571 + if-eqz v6, :cond_41
6575 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6577 + move-result-object v3
6579 + invoke-static {}, Landroid/os/Process;->myUid()I
6583 + if-eqz v3, :cond_2c
6588 + array-length v6, v3
6590 + if-ge v1, v6, :cond_2a
6592 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6594 + aget-object v7, v3, v1
6596 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6598 + move-result-object v2
6600 + if-eqz v2, :cond_26
6602 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
6606 + if-eqz v6, :cond_26
6616 + add-int/lit8 v1, v1, 0x1
6626 + const-string v6, "PM,AudioRecord"
6628 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
6630 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6632 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
6639 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6641 + const-string v6, "PM,AudioRecord"
6643 + const-string v7, "Got exception in checkIfPackagesAllowed"
6645 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6651 + const-string v6, "PM,AudioRecord"
6653 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
6655 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6657 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
6662 +.method private dataAccess(Z)V
6665 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6667 + move-result-object v1
6669 + if-eqz p1, :cond_2f
6671 + if-eqz v1, :cond_2f
6676 + array-length v2, v1
6678 + if-ge v0, v2, :cond_58
6680 + const-string v2, "PM,AudioRecord"
6682 + new-instance v3, Ljava/lang/StringBuilder;
6684 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6686 + const-string v4, "Allowed Package: -"
6688 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6690 + move-result-object v3
6692 + aget-object v4, v1, v0
6694 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6696 + move-result-object v3
6698 + const-string v4, "- accessing microphone."
6700 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6702 + move-result-object v3
6704 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6706 + move-result-object v3
6708 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6710 + add-int/lit8 v0, v0, 0x1
6715 + if-eqz v1, :cond_58
6720 + array-length v2, v1
6722 + if-ge v0, v2, :cond_58
6724 + const-string v2, "PM,AudioRecord"
6726 + new-instance v3, Ljava/lang/StringBuilder;
6728 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6730 + const-string v4, "Blocked Package: -"
6732 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6734 + move-result-object v3
6736 + aget-object v4, v1, v0
6738 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6740 + move-result-object v3
6742 + const-string v4, "- accessing microphone."
6744 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6746 + move-result-object v3
6748 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6750 + move-result-object v3
6752 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6754 + add-int/lit8 v0, v0, 0x1
6762 .method public static getMinBufferSize(III)I
6765 @@ -529,6 +750,135 @@
6769 +.method private getPackageName()[Ljava/lang/String;
6773 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6775 + if-eqz v3, :cond_f
6777 + invoke-static {}, Landroid/os/Process;->myUid()I
6781 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6783 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6785 + move-result-object v1
6791 + const-string/jumbo v3, "package"
6793 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6795 + move-result-object v3
6797 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6799 + move-result-object v3
6801 + iput-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6803 + invoke-static {}, Landroid/os/Process;->myUid()I
6807 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6809 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6811 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6813 + move-result-object v1
6820 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6822 + const-string v3, "PM,AudioRecord"
6824 + const-string/jumbo v4, "something went wrong with getting package name"
6826 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6833 +.method private initiate()V
6839 + iput-object v1, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
6841 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6843 + iget-object v2, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
6845 + const-string/jumbo v3, "privacy"
6847 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6849 + move-result-object v3
6851 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6853 + move-result-object v3
6855 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6857 + iput-object v1, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6859 + const-string/jumbo v1, "package"
6861 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6863 + move-result-object v1
6865 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6867 + move-result-object v1
6869 + iput-object v1, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6873 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
6875 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6883 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6885 + const-string v1, "PM,AudioRecord"
6887 + const-string v2, "Something went wrong with initalize variables"
6889 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6893 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
6898 .method private static logd(Ljava/lang/String;)V
6901 @@ -979,19 +1329,68 @@
6904 .method public startRecording()V
6907 .annotation system Ldalvik/annotation/Throws;
6909 Ljava/lang/IllegalStateException;
6919 + iget-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
6921 + if-nez v0, :cond_a
6923 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
6926 iget v0, p0, Landroid/media/AudioRecord;->mState:I
6929 + if-ne v0, v3, :cond_15
6931 + invoke-direct {p0}, Landroid/media/AudioRecord;->checkIfPackagesAllowed()I
6937 + if-ne v0, v1, :cond_3d
6939 - if-eq v0, v1, :cond_e
6941 + invoke-direct {p0, v2}, Landroid/media/AudioRecord;->dataAccess(Z)V
6943 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6945 + move-result-object v7
6947 + if-eqz v7, :cond_34
6949 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6951 + aget-object v1, v7, v2
6953 + const-string/jumbo v4, "recordAudio"
6955 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6957 + aget-object v8, v7, v2
6959 + invoke-static {}, Landroid/os/Process;->myUid()I
6963 + invoke-virtual {v6, v8, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6965 + move-result-object v6
6967 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
6970 new-instance v0, Ljava/lang/IllegalStateException;
6972 const-string/jumbo v1, "startRecording() called on an uninitialized AudioRecord."
6973 @@ -1000,7 +1399,38 @@
6979 + invoke-direct {p0, v3}, Landroid/media/AudioRecord;->dataAccess(Z)V
6981 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6983 + move-result-object v7
6985 + if-eqz v7, :cond_5d
6987 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6989 + aget-object v1, v7, v2
6991 + const-string/jumbo v4, "recordAudio"
6993 + iget-object v3, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6995 + aget-object v6, v7, v2
6997 + invoke-static {}, Landroid/os/Process;->myUid()I
7001 + invoke-virtual {v3, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7003 + move-result-object v6
7007 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7010 iget-object v1, p0, Landroid/media/AudioRecord;->mRecordingStateLock:Ljava/lang/Object;
7013 @@ -1009,28 +1439,28 @@
7019 invoke-direct {p0, v0, v2}, Landroid/media/AudioRecord;->native_start(II)I
7023 - if-nez v0, :cond_1c
7024 + if-nez v0, :cond_6b
7028 iput v0, p0, Landroid/media/AudioRecord;->mRecordingState:I
7042 - .catchall {:try_start_13 .. :try_end_20} :catchall_1e
7044 + .catchall {:try_start_62 .. :try_end_6f} :catchall_6d
7048 diff -Npru stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali opd-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali
7049 --- stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 1969-12-31 18:00:00.000000000 -0600
7050 +++ opd-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 2013-01-08 23:29:42.912284147 -0600
7052 +.class Landroid/media/MediaRecorder$PrivacyRunner;
7053 +.super Ljava/lang/Thread;
7054 +.source "MediaRecorder.java"
7058 +.annotation system Ldalvik/annotation/EnclosingClass;
7059 + value = Landroid/media/MediaRecorder;
7062 +.annotation system Ldalvik/annotation/InnerClass;
7064 + name = "PrivacyRunner"
7069 +.field private static final OFFSET_DELAY:J = 0x9c4L
7073 +.field private delay:J
7075 +.field final synthetic this$0:Landroid/media/MediaRecorder;
7079 +.method public constructor <init>(Landroid/media/MediaRecorder;)V
7082 + iput-object p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7084 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
7086 + const-wide/16 v0, 0x9c4
7088 + iput-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7095 +.method public getDelay()J
7098 + iget-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7103 +.method public run()V
7107 + iget-wide v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7109 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
7111 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7113 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7114 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7116 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7118 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7119 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7121 + move-result-object v2
7123 + if-eqz v2, :cond_2f
7125 + new-instance v1, Ljava/io/File;
7127 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7129 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7130 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7132 + move-result-object v2
7134 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7136 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7140 + if-eqz v2, :cond_29
7142 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7146 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7147 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7149 + .catchall {:try_start_0 .. :try_end_29} :catchall_73
7150 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_29} :catch_57
7154 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7157 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7158 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7164 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7166 + #getter for: Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7167 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7169 + move-result-object v2
7171 + if-eqz v2, :cond_65
7173 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7175 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7176 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7178 + move-result-object v2
7180 + if-eqz v2, :cond_65
7182 + new-instance v1, Ljava/io/File;
7184 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7186 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7187 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7189 + move-result-object v2
7191 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7193 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7197 + if-eqz v2, :cond_29
7199 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7203 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7204 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7206 + .catchall {:try_start_2f .. :try_end_56} :catchall_73
7207 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_56} :catch_57
7215 + const-string v2, "PM,MediaRecorder"
7217 + const-string v3, "Something went wrong while waiting for cancel the stream!"
7219 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7221 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7223 + .catchall {:try_start_58 .. :try_end_62} :catchall_73
7225 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7231 + const-string v2, "PM,MediaRecorder"
7233 + const-string v3, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
7235 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7237 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7241 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7242 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7244 + .catchall {:try_start_65 .. :try_end_72} :catchall_73
7245 + .catch Ljava/lang/Exception; {:try_start_65 .. :try_end_72} :catch_57
7252 + iget-object v3, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7254 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7255 + invoke-static {v3}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7260 +.method public setDelay(J)V
7263 + iput-wide p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7267 diff -Npru stock-framework/smali/android/media/MediaRecorder.smali opd-framework/smali/android/media/MediaRecorder.smali
7268 --- stock-framework/smali/android/media/MediaRecorder.smali 2013-01-08 23:29:03.824090327 -0600
7269 +++ opd-framework/smali/android/media/MediaRecorder.smali 2013-01-08 23:29:42.916284168 -0600
7272 .annotation system Ldalvik/annotation/MemberClasses;
7274 + Landroid/media/MediaRecorder$PrivacyRunner;,
7275 Landroid/media/MediaRecorder$EventHandler;,
7276 Landroid/media/MediaRecorder$OnInfoListener;,
7277 Landroid/media/MediaRecorder$OnErrorListener;,
7282 +.field private static final BOTH_DATA_ACCESS:I = 0xb
7284 +.field private static final GOT_ERROR:I = -0x3
7286 +.field private static final IS_ALLOWED:I = -0x1
7288 +.field private static final IS_NOT_ALLOWED:I = -0x2
7290 .field public static final MEDIA_ERROR_SERVER_DIED:I = 0x64
7292 .field public static final MEDIA_RECORDER_ERROR_UNKNOWN:I = 0x1
7295 .field public static final MEDIA_RECORDER_TRACK_INTER_CHUNK_TIME_MS:I = 0x3ee
7297 +.field private static final MIC_DATA_ACCESS:I = 0xa
7299 +.field private static final MODE_RECORD_AUDIO:I = 0x2
7301 +.field private static final MODE_RECORD_BOTH:I = 0x3
7303 +.field private static final PRIVACY_PATH_DEF:Ljava/lang/String; = "/data/data/"
7305 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MediaRecorder"
7307 +.field private static final STATE_RECORD_AUDIO:I = 0x0
7309 +.field private static final STATE_RECORD_BOTH:I = 0x1
7311 .field private static final TAG:Ljava/lang/String; = "MediaRecorder"
7315 +.field private ACTUAL_STATE:I
7317 +.field private context:Landroid/content/Context;
7319 +.field private deletedFile:Z
7321 .field private mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7323 .field private mFd:Ljava/io/FileDescriptor;
7326 .field private mPath:Ljava/lang/String;
7328 +.field private mPm:Landroid/content/pm/IPackageManager;
7330 .field private mSurface:Landroid/view/Surface;
7332 +.field private pFileDescriptor:Ljava/io/FileDescriptor;
7334 +.field private pFileDescriptorPath:Ljava/lang/String;
7336 +.field private pPath:Ljava/lang/String;
7338 +.field private pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7340 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
7342 +.field private privacyMode:Z
7344 +.field private stoppedStream:Z
7348 .method static constructor <clinit>()V
7349 @@ -86,15 +131,35 @@
7352 .method public constructor <init>()V
7360 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7362 + iput-object v1, p0, Landroid/media/MediaRecorder;->pPath:Ljava/lang/String;
7364 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7366 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptor:Ljava/io/FileDescriptor;
7368 + iput-object v1, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7370 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7372 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7374 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->stoppedStream:Z
7376 + iput v2, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7378 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
7380 move-result-object v0
7382 - if-eqz v0, :cond_19
7383 + if-eqz v0, :cond_2e
7385 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
7389 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7393 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
7395 new-instance v1, Ljava/lang/ref/WeakReference;
7397 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
7398 @@ -111,12 +178,12 @@
7404 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
7406 move-result-object v0
7408 - if-eqz v0, :cond_27
7409 + if-eqz v0, :cond_3c
7411 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
7413 @@ -124,14 +191,12 @@
7415 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7424 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7430 .method private native _prepare()V
7431 @@ -143,45 +208,1757 @@
7435 -.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
7436 - .annotation system Ldalvik/annotation/Throws;
7438 - Ljava/lang/IllegalStateException;,
7439 - Ljava/io/IOException;
7443 +.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
7444 + .annotation system Ldalvik/annotation/Throws;
7446 + Ljava/lang/IllegalStateException;,
7447 + Ljava/io/IOException;
7452 +.method static synthetic access$000(Landroid/media/MediaRecorder;)I
7455 + iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
7460 +.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
7463 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
7468 +.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
7471 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
7476 +.method static synthetic access$300(Landroid/media/MediaRecorder;)V
7479 + invoke-direct {p0}, Landroid/media/MediaRecorder;->privacyStop()V
7484 +.method static synthetic access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7487 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7492 +.method static synthetic access$502(Landroid/media/MediaRecorder;Z)Z
7495 + iput-boolean p1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7500 +.method static synthetic access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7503 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7508 +.method static synthetic access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7511 + iget-object v0, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7516 +.method private checkIfPackagesAllowed(I)I
7526 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7528 + if-eqz v8, :cond_5b
7532 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7534 + move-result-object v3
7536 + invoke-static {}, Landroid/os/Process;->myUid()I
7540 + if-eqz v3, :cond_51
7542 + packed-switch p1, :pswitch_data_72
7554 + array-length v8, v3
7556 + if-ge v1, v8, :cond_2f
7558 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7560 + aget-object v9, v3, v1
7562 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7564 + move-result-object v2
7566 + if-eqz v2, :cond_2b
7568 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7572 + if-nez v8, :cond_16
7577 + add-int/lit8 v1, v1, 0x1
7590 + array-length v8, v3
7592 + if-ge v1, v8, :cond_4f
7594 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7596 + aget-object v9, v3, v1
7598 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7600 + move-result-object v2
7602 + if-eqz v2, :cond_4b
7604 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7608 + if-nez v8, :cond_16
7610 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
7614 + if-nez v8, :cond_16
7619 + add-int/lit8 v1, v1, 0x1
7629 + const-string v5, "PM,MediaRecorder"
7631 + const-string/jumbo v6, "return GOT_ERROR, because package_names are NULL"
7633 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7640 + const-string v5, "PM,MediaRecorder"
7642 + const-string/jumbo v6, "return GOT_ERROR, because pSetMan is NULL"
7644 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7646 + .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_63} :catch_65
7655 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7657 + const-string v5, "PM,MediaRecorder"
7659 + const-string v6, "Got exception in checkIfPackagesAllowed"
7661 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7668 + .packed-switch 0x2
7671 + .end packed-switch
7674 +.method private dataAccess(ZI)V
7677 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7679 + move-result-object v1
7681 + if-eqz p1, :cond_5a
7683 + if-eqz v1, :cond_5a
7685 + packed-switch p2, :pswitch_data_ae
7695 + array-length v2, v1
7697 + if-ge v0, v2, :cond_b
7699 + const-string v2, "PM,MediaRecorder"
7701 + new-instance v3, Ljava/lang/StringBuilder;
7703 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7705 + const-string v4, "Allowed Package: -"
7707 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7709 + move-result-object v3
7711 + aget-object v4, v1, v0
7713 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7715 + move-result-object v3
7717 + const-string v4, "- accessing microphone."
7719 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7721 + move-result-object v3
7723 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7725 + move-result-object v3
7727 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7729 + add-int/lit8 v0, v0, 0x1
7737 + array-length v2, v1
7739 + if-ge v0, v2, :cond_b
7741 + const-string v2, "PM,MediaRecorder"
7743 + new-instance v3, Ljava/lang/StringBuilder;
7745 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7747 + const-string v4, "Allowed Package: -"
7749 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7751 + move-result-object v3
7753 + aget-object v4, v1, v0
7755 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7757 + move-result-object v3
7759 + const-string v4, "- accessing microphone and camera."
7761 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7763 + move-result-object v3
7765 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7767 + move-result-object v3
7769 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7771 + add-int/lit8 v0, v0, 0x1
7776 + if-eqz v1, :cond_b
7778 + packed-switch p2, :pswitch_data_b6
7786 + array-length v2, v1
7788 + if-ge v0, v2, :cond_b
7790 + const-string v2, "PM,MediaRecorder"
7792 + new-instance v3, Ljava/lang/StringBuilder;
7794 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7796 + const-string v4, "Blocked Package: -"
7798 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7800 + move-result-object v3
7802 + aget-object v4, v1, v0
7804 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7806 + move-result-object v3
7808 + const-string v4, "- accessing microphone."
7810 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7812 + move-result-object v3
7814 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7816 + move-result-object v3
7818 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7820 + add-int/lit8 v0, v0, 0x1
7828 + array-length v2, v1
7830 + if-ge v0, v2, :cond_b
7832 + const-string v2, "PM,MediaRecorder"
7834 + new-instance v3, Ljava/lang/StringBuilder;
7836 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7838 + const-string v4, "Blocked Package: -"
7840 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7842 + move-result-object v3
7844 + aget-object v4, v1, v0
7846 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7848 + move-result-object v3
7850 + const-string v4, "- accessing microphone and camera."
7852 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7854 + move-result-object v3
7856 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7858 + move-result-object v3
7860 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7862 + add-int/lit8 v0, v0, 0x1
7867 + .packed-switch 0xa
7870 + .end packed-switch
7873 + .packed-switch 0xa
7876 + .end packed-switch
7879 +.method public static final getAudioSourceMax()I
7887 +.method private getPackageName()[Ljava/lang/String;
7891 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7893 + if-eqz v3, :cond_f
7895 + invoke-static {}, Landroid/os/Process;->myUid()I
7899 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7901 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7903 + move-result-object v1
7909 + const-string/jumbo v3, "package"
7911 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7913 + move-result-object v3
7915 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
7917 + move-result-object v3
7919 + iput-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7921 + invoke-static {}, Landroid/os/Process;->myUid()I
7925 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7927 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7929 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
7931 + move-result-object v1
7938 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7940 + const-string v3, "PM,MediaRecorder"
7942 + const-string/jumbo v4, "something went wrong with getting package name"
7944 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7951 +.method private getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
7954 + invoke-direct/range {p0 .. p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7956 + move-result-object v12
7958 + new-instance v14, Ljava/util/Random;
7960 + invoke-direct {v14}, Ljava/util/Random;-><init>()V
7964 + new-instance v15, Ljava/lang/StringBuilder;
7966 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
7968 + invoke-virtual {v14}, Ljava/util/Random;->nextLong()J
7970 + move-result-wide v16
7972 + invoke-virtual/range {v15 .. v17}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
7974 + move-result-object v15
7976 + const-string v16, ".tmp"
7978 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7980 + move-result-object v15
7982 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7984 + move-result-object v2
7993 + array-length v15, v12
7995 + if-ge v11, v15, :cond_247
7998 + new-instance v9, Ljava/io/File;
8000 + new-instance v15, Ljava/lang/StringBuilder;
8002 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8004 + const-string v16, "/data/data/"
8006 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8008 + move-result-object v15
8010 + aget-object v16, v12, v11
8012 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8014 + move-result-object v15
8016 + const-string v16, "/cache/"
8018 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8020 + move-result-object v15
8022 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8024 + move-result-object v15
8026 + invoke-direct {v9, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8028 + invoke-virtual {v9}, Ljava/io/File;->mkdirs()Z
8030 + new-instance v8, Ljava/io/FileWriter;
8032 + new-instance v15, Ljava/lang/StringBuilder;
8034 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8036 + const-string v16, "/data/data/"
8038 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8040 + move-result-object v15
8042 + aget-object v16, v12, v11
8044 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8046 + move-result-object v15
8048 + const-string v16, "/cache/"
8050 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8052 + move-result-object v15
8054 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8056 + move-result-object v15
8058 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8060 + move-result-object v15
8062 + invoke-direct {v8, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8064 + .catchall {:try_start_27 .. :try_end_6e} :catchall_155
8065 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_15c
8068 + const-string/jumbo v15, "test"
8070 + invoke-virtual {v8, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8072 + invoke-virtual {v8}, Ljava/io/FileWriter;->flush()V
8074 + invoke-virtual {v8}, Ljava/io/FileWriter;->close()V
8076 + new-instance v4, Ljava/io/File;
8078 + new-instance v15, Ljava/lang/StringBuilder;
8080 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8082 + const-string v16, "/data/data/"
8084 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8086 + move-result-object v15
8088 + aget-object v16, v12, v11
8090 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8092 + move-result-object v15
8094 + const-string v16, "/cache/"
8096 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8098 + move-result-object v15
8100 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8102 + move-result-object v15
8104 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8106 + move-result-object v15
8108 + invoke-direct {v4, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8110 + .catchall {:try_start_6e .. :try_end_9e} :catchall_235
8111 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_23e
8114 + invoke-virtual {v4}, Ljava/io/File;->delete()Z
8116 + const-string v15, "PM,MediaRecorder"
8118 + new-instance v16, Ljava/lang/StringBuilder;
8120 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8122 + const-string v17, "found our package: "
8124 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8126 + move-result-object v16
8128 + aget-object v17, v12, v11
8130 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8132 + move-result-object v16
8134 + const-string v17, " with internal path. File: "
8136 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8138 + move-result-object v16
8140 + move-object/from16 v0, v16
8142 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8144 + move-result-object v16
8146 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8148 + move-result-object v16
8150 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8152 + aget-object v1, v12, v11
8154 + .catchall {:try_start_9e .. :try_end_c9} :catchall_239
8155 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c9} :catch_242
8161 + invoke-static {}, Ljava/lang/System;->gc()V
8163 + move-object v4, v3
8165 + move-object v8, v7
8168 + if-eqz v1, :cond_172
8171 + new-instance v10, Ljava/io/FileOutputStream;
8173 + new-instance v15, Ljava/lang/StringBuilder;
8175 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8177 + const-string v16, "/data/data/"
8179 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8181 + move-result-object v15
8183 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8185 + move-result-object v15
8187 + const-string v16, "/cache/"
8189 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8191 + move-result-object v15
8193 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8195 + move-result-object v15
8197 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8199 + move-result-object v15
8201 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8203 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8205 + move-result-object v6
8207 + new-instance v15, Ljava/lang/StringBuilder;
8209 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8211 + const-string v16, "/data/data/"
8213 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8215 + move-result-object v15
8217 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8219 + move-result-object v15
8221 + const-string v16, "/cache/"
8223 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8225 + move-result-object v15
8227 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8229 + move-result-object v15
8231 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8233 + move-result-object v15
8235 + move-object/from16 v0, p0
8237 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8239 + const-string v15, "PM,MediaRecorder"
8241 + new-instance v16, Ljava/lang/StringBuilder;
8243 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8245 + const-string/jumbo v17, "returned fileDescriptor for package: "
8247 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8249 + move-result-object v16
8251 + move-object/from16 v0, v16
8253 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8255 + move-result-object v16
8257 + const-string v17, " with internal path. Path: "
8259 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8261 + move-result-object v16
8263 + const-string v17, "/data/data/"
8265 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8267 + move-result-object v16
8269 + move-object/from16 v0, v16
8271 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8273 + move-result-object v16
8275 + const-string v17, "/cache/"
8277 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8279 + move-result-object v16
8281 + move-object/from16 v0, v16
8283 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8285 + move-result-object v16
8287 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8289 + move-result-object v16
8291 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8293 + .catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_152} :catch_166
8295 + move-object v3, v4
8297 + move-object v7, v8
8303 + move-exception v15
8310 + invoke-static {}, Ljava/lang/System;->gc()V
8315 + move-exception v15
8322 + invoke-static {}, Ljava/lang/System;->gc()V
8324 + add-int/lit8 v11, v11, 0x1
8331 + const-string v15, "PM,MediaRecorder"
8333 + const-string v16, "Got exception while creating fileDescriptor -> return null"
8335 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8339 + move-object v3, v4
8341 + move-object v7, v8
8347 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8349 + move-result-object v15
8351 + invoke-virtual {v15}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8353 + move-result-object v13
8355 + new-instance v7, Ljava/io/FileWriter;
8357 + new-instance v15, Ljava/lang/StringBuilder;
8359 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8361 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8363 + move-result-object v15
8365 + const-string v16, "/"
8367 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8369 + move-result-object v15
8371 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8373 + move-result-object v15
8375 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8377 + move-result-object v15
8379 + invoke-direct {v7, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8381 + .catch Ljava/lang/Exception; {:try_start_172 .. :try_end_196} :catch_22e
8384 + const-string/jumbo v15, "test"
8386 + invoke-virtual {v7, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8388 + invoke-virtual {v7}, Ljava/io/FileWriter;->flush()V
8390 + invoke-virtual {v7}, Ljava/io/FileWriter;->close()V
8392 + new-instance v3, Ljava/io/File;
8394 + new-instance v15, Ljava/lang/StringBuilder;
8396 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8398 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8400 + move-result-object v15
8402 + const-string v16, "/"
8404 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8406 + move-result-object v15
8408 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8410 + move-result-object v15
8412 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8414 + move-result-object v15
8416 + invoke-direct {v3, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8418 + .catch Ljava/lang/Exception; {:try_start_196 .. :try_end_1be} :catch_232
8421 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8423 + new-instance v10, Ljava/io/FileOutputStream;
8425 + new-instance v15, Ljava/lang/StringBuilder;
8427 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8429 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8431 + move-result-object v15
8433 + const-string v16, "/"
8435 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8437 + move-result-object v15
8439 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8441 + move-result-object v15
8443 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8445 + move-result-object v15
8447 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8449 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8451 + move-result-object v6
8453 + new-instance v15, Ljava/lang/StringBuilder;
8455 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8457 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8459 + move-result-object v15
8461 + const-string v16, "/"
8463 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8465 + move-result-object v15
8467 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8469 + move-result-object v15
8471 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8473 + move-result-object v15
8475 + move-object/from16 v0, p0
8477 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8479 + const-string v15, "PM,MediaRecorder"
8481 + new-instance v16, Ljava/lang/StringBuilder;
8483 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8485 + const-string v17, "Returned FileDescriptor. Path: "
8487 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8489 + move-result-object v16
8491 + move-object/from16 v0, v16
8493 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8495 + move-result-object v16
8497 + const-string v17, "/"
8499 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8501 + move-result-object v16
8503 + move-object/from16 v0, v16
8505 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8507 + move-result-object v16
8509 + const-string v17, " . It is on SDCard!"
8511 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8513 + move-result-object v16
8515 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8517 + move-result-object v16
8519 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8521 + .catch Ljava/lang/Exception; {:try_start_1be .. :try_end_228} :catch_22a
8536 + move-object v3, v4
8538 + move-object v7, v8
8545 + move-object v3, v4
8550 + move-exception v15
8552 + move-object v7, v8
8557 + move-exception v15
8559 + move-object v3, v4
8561 + move-object v7, v8
8566 + move-exception v15
8568 + move-object v7, v8
8573 + move-exception v15
8575 + move-object v3, v4
8577 + move-object v7, v8
8582 + move-object v4, v3
8584 + move-object v8, v7
8589 +.method private getPrivacyPath()Ljava/lang/String;
8592 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8594 + move-result-object v9
8596 + new-instance v11, Ljava/util/Random;
8598 + invoke-direct {v11}, Ljava/util/Random;-><init>()V
8602 + new-instance v12, Ljava/lang/StringBuilder;
8604 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8606 + invoke-virtual {v11}, Ljava/util/Random;->nextLong()J
8608 + move-result-wide v13
8610 + invoke-virtual {v12, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8612 + move-result-object v12
8614 + const-string v13, ".tmp"
8616 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8618 + move-result-object v12
8620 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8622 + move-result-object v1
8631 + array-length v12, v9
8633 + if-ge v8, v12, :cond_1eb
8636 + new-instance v7, Ljava/io/File;
8638 + new-instance v12, Ljava/lang/StringBuilder;
8640 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8642 + const-string v13, "/data/data/"
8644 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8646 + move-result-object v12
8648 + aget-object v13, v9, v8
8650 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8652 + move-result-object v12
8654 + const-string v13, "/cache/"
8656 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8658 + move-result-object v12
8660 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8662 + move-result-object v12
8664 + invoke-direct {v7, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8666 + invoke-virtual {v7}, Ljava/io/File;->mkdirs()Z
8668 + new-instance v6, Ljava/io/FileWriter;
8670 + new-instance v12, Ljava/lang/StringBuilder;
8672 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8674 + const-string v13, "/data/data/"
8676 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8678 + move-result-object v12
8680 + aget-object v13, v9, v8
8682 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8684 + move-result-object v12
8686 + const-string v13, "/cache/"
8688 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8690 + move-result-object v12
8692 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8694 + move-result-object v12
8696 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8698 + move-result-object v12
8700 + invoke-direct {v6, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8702 + .catchall {:try_start_27 .. :try_end_6e} :catchall_12d
8703 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_134
8706 + const-string/jumbo v12, "test"
8708 + invoke-virtual {v6, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8710 + invoke-virtual {v6}, Ljava/io/FileWriter;->flush()V
8712 + invoke-virtual {v6}, Ljava/io/FileWriter;->close()V
8714 + new-instance v3, Ljava/io/File;
8716 + new-instance v12, Ljava/lang/StringBuilder;
8718 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8720 + const-string v13, "/data/data/"
8722 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8724 + move-result-object v12
8726 + aget-object v13, v9, v8
8728 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8730 + move-result-object v12
8732 + const-string v13, "/cache/"
8734 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8736 + move-result-object v12
8738 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8740 + move-result-object v12
8742 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8744 + move-result-object v12
8746 + invoke-direct {v3, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8748 + .catchall {:try_start_6e .. :try_end_9e} :catchall_1d9
8749 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_1e2
8752 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8754 + const-string v12, "PM,MediaRecorder"
8756 + new-instance v13, Ljava/lang/StringBuilder;
8758 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8760 + const-string v14, "found our package: "
8762 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8764 + move-result-object v13
8766 + aget-object v14, v9, v8
8768 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8770 + move-result-object v13
8772 + const-string v14, " with internal path. File: "
8774 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8776 + move-result-object v13
8778 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8780 + move-result-object v13
8782 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8784 + move-result-object v13
8786 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8788 + aget-object v0, v9, v8
8790 + .catchall {:try_start_9e .. :try_end_c7} :catchall_1dd
8791 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c7} :catch_1e6
8797 + invoke-static {}, Ljava/lang/System;->gc()V
8799 + move-object v3, v2
8801 + move-object v6, v5
8804 + if-eqz v0, :cond_13e
8806 + const-string v12, "PM,MediaRecorder"
8808 + new-instance v13, Ljava/lang/StringBuilder;
8810 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8812 + const-string/jumbo v14, "returned file: "
8814 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8816 + move-result-object v13
8818 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8820 + move-result-object v13
8822 + const-string v14, " for package: "
8824 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8826 + move-result-object v13
8828 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8830 + move-result-object v13
8832 + const-string v14, " with internal path. Path: "
8834 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8836 + move-result-object v13
8838 + const-string v14, "/data/data/"
8840 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8842 + move-result-object v13
8844 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8846 + move-result-object v13
8848 + const-string v14, "/cache/"
8850 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8852 + move-result-object v13
8854 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8856 + move-result-object v13
8858 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8860 + move-result-object v13
8862 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8864 + new-instance v12, Ljava/lang/StringBuilder;
8866 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8868 + const-string v13, "/data/data/"
8870 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8872 + move-result-object v12
8874 + invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8876 + move-result-object v12
8878 + const-string v13, "/cache/"
8880 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8882 + move-result-object v12
8884 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8886 + move-result-object v12
8888 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8890 + move-result-object v12
8892 + move-object v2, v3
8894 + move-object v5, v6
8900 + move-exception v12
8907 + invoke-static {}, Ljava/lang/System;->gc()V
8912 + move-exception v12
8919 + invoke-static {}, Ljava/lang/System;->gc()V
8921 + add-int/lit8 v8, v8, 0x1
8927 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8929 + move-result-object v12
8931 + invoke-virtual {v12}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8933 + move-result-object v10
8935 + new-instance v5, Ljava/io/FileWriter;
8937 + new-instance v12, Ljava/lang/StringBuilder;
8939 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8941 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8943 + move-result-object v12
8945 + const-string v13, "/"
8947 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8949 + move-result-object v12
8951 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8953 + move-result-object v12
8955 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8957 + move-result-object v12
8959 + invoke-direct {v5, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8961 + .catch Ljava/lang/Exception; {:try_start_13e .. :try_end_162} :catch_1ce
8964 + const-string/jumbo v12, "test"
8966 + invoke-virtual {v5, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8968 + invoke-virtual {v5}, Ljava/io/FileWriter;->flush()V
8970 + invoke-virtual {v5}, Ljava/io/FileWriter;->close()V
8972 + new-instance v2, Ljava/io/File;
8974 + new-instance v12, Ljava/lang/StringBuilder;
8976 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8978 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8980 + move-result-object v12
8982 + const-string v13, "/"
8984 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8986 + move-result-object v12
8988 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8990 + move-result-object v12
8992 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8994 + move-result-object v12
8996 + invoke-direct {v2, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8998 + .catch Ljava/lang/Exception; {:try_start_162 .. :try_end_18a} :catch_1d4
9001 + invoke-virtual {v2}, Ljava/io/File;->delete()Z
9003 + const-string v12, "PM,MediaRecorder"
9005 + new-instance v13, Ljava/lang/StringBuilder;
9007 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
9009 + const-string v14, "Return filePath: "
9011 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9013 + move-result-object v13
9015 + invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9017 + move-result-object v13
9019 + const-string v14, "/"
9021 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9023 + move-result-object v13
9025 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9027 + move-result-object v13
9029 + const-string v14, " . It is on SDCard!"
9031 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9033 + move-result-object v13
9035 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9037 + move-result-object v13
9039 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
9041 + new-instance v12, Ljava/lang/StringBuilder;
9043 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
9045 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9047 + move-result-object v12
9049 + const-string v13, "/"
9051 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9053 + move-result-object v12
9055 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9057 + move-result-object v12
9059 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9061 + .catch Ljava/lang/Exception; {:try_start_18a .. :try_end_1cb} :catch_1d7
9063 + move-result-object v12
9070 + move-object v2, v3
9072 + move-object v5, v6
9082 + move-object v2, v3
9092 + move-exception v12
9094 + move-object v5, v6
9099 + move-exception v12
9101 + move-object v2, v3
9103 + move-object v5, v6
9108 + move-exception v12
9110 + move-object v5, v6
9115 + move-exception v12
9117 + move-object v2, v3
9119 + move-object v5, v6
9124 + move-object v3, v2
9126 + move-object v6, v5
9131 +.method private initiate()V
9137 + iput-object v1, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9139 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
9141 + iget-object v2, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9143 + const-string/jumbo v3, "privacy"
9145 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9147 + move-result-object v3
9149 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9151 + move-result-object v3
9153 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
9155 + iput-object v1, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9157 + const-string/jumbo v1, "package"
9159 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9161 -.method static synthetic access$000(Landroid/media/MediaRecorder;)I
9163 + move-result-object v1
9165 - iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
9166 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
9170 + move-result-object v1
9172 -.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
9174 + iput-object v1, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
9176 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
9181 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9183 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
9185 -.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
9190 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
9196 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
9198 -.method public static final getAudioSourceMax()I
9200 + const-string v1, "PM,MediaRecorder"
9203 + const-string v2, "Something went wrong with initalize variables"
9206 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9210 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9215 .method private final native native_finalize()V
9216 @@ -236,17 +2013,104 @@
9220 +.method private privacyStop()V
9224 + invoke-virtual {p0}, Landroid/media/MediaRecorder;->stop()V
9226 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
9234 + const-string v1, "PM,MediaRecorder"
9236 + const-string v2, "Got exception while trying to call privacyStop()"
9238 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9243 .method private native setParameter(Ljava/lang/String;)V
9248 .method protected finalize()V
9254 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9256 + if-nez v1, :cond_18
9258 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9260 + if-eqz v1, :cond_1c
9262 + new-instance v0, Ljava/io/File;
9264 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9266 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9268 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9272 + if-eqz v1, :cond_18
9274 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9278 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_finalize()V
9283 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9285 + if-eqz v1, :cond_34
9287 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9289 + if-eqz v1, :cond_34
9291 + new-instance v0, Ljava/io/File;
9293 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9295 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9297 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9301 + if-eqz v1, :cond_18
9303 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9308 + const-string v1, "PM,MediaRecorder"
9310 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9312 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9316 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9321 .method public native getMaxAmplitude()I
9322 @@ -258,7 +2122,7 @@
9325 .method public prepare()V
9328 .annotation system Ldalvik/annotation/Throws;
9330 Ljava/lang/IllegalStateException;,
9331 @@ -266,20 +2130,75 @@
9335 - const-wide/16 v2, 0x0
9340 + const-wide/16 v13, 0x0
9346 + iget-boolean v0, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9348 + if-nez v0, :cond_d
9350 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
9353 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9357 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9359 + packed-switch v0, :pswitch_data_f2
9363 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9365 + move-result-object v8
9367 + if-nez v9, :cond_2f
9369 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9371 + if-ne v0, v3, :cond_c3
9373 + if-eqz v8, :cond_c3
9375 + array-length v0, v8
9377 + if-lez v0, :cond_c3
9379 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9381 + aget-object v1, v8, v2
9383 + const-string v4, "camera"
9387 + move-object v6, v5
9389 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9393 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9395 - if-eqz v0, :cond_25
9396 + if-eqz v0, :cond_db
9398 - new-instance v6, Ljava/io/FileOutputStream;
9399 + new-instance v7, Ljava/io/FileOutputStream;
9401 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9403 - invoke-direct {v6, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9404 + invoke-direct {v7, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9407 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9409 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9411 move-result-object v1
9413 @@ -290,39 +2209,189 @@
9416 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9418 - .catchall {:try_start_d .. :try_end_19} :catchall_20
9420 + .catchall {:try_start_3a .. :try_end_46} :catchall_d6
9422 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9423 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9427 invoke-direct {p0}, Landroid/media/MediaRecorder;->_prepare()V
9435 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9439 + if-ne v0, v1, :cond_15
9441 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9443 + move-result-object v10
9445 + if-eqz v10, :cond_68
9447 + array-length v0, v10
9449 + if-lez v0, :cond_68
9451 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9453 + aget-object v1, v10, v2
9455 + const-string/jumbo v4, "recordAudio"
9457 + move-object v6, v5
9459 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9462 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
9464 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
9466 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9468 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9470 + const-wide/16 v11, 0x32
9472 + invoke-virtual {v0, v11, v12}, Landroid/media/MediaRecorder$PrivacyRunner;->setDelay(J)V
9474 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9476 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
9485 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9489 + if-ne v0, v1, :cond_15
9491 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9493 + move-result-object v10
9495 + if-eqz v10, :cond_97
9497 + array-length v0, v10
9499 + if-lez v0, :cond_97
9501 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9503 + aget-object v1, v10, v2
9505 + const-string v4, "camera"
9507 + move-object v6, v5
9509 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9512 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9514 + if-eqz v0, :cond_b0
9516 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyPath()Ljava/lang/String;
9518 + move-result-object v0
9520 + iput-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9523 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
9525 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
9527 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9529 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9531 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
9538 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9540 + if-eqz v0, :cond_bb
9542 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
9544 + move-result-object v0
9546 + iput-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9551 + new-instance v0, Ljava/io/IOException;
9553 + const-string v1, "No valid output file"
9555 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
9560 + if-eqz v8, :cond_2f
9562 + array-length v0, v8
9564 + if-lez v0, :cond_2f
9566 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9568 + aget-object v1, v8, v2
9570 + const-string/jumbo v4, "recordAudio"
9574 + move-object v6, v5
9576 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9583 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9584 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9590 iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9592 - if-eqz v0, :cond_31
9593 + if-eqz v0, :cond_e9
9595 iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9604 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9611 new-instance v0, Ljava/io/IOException;
9613 const-string v1, "No valid output file"
9614 @@ -330,23 +2399,99 @@
9615 invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
9622 + .packed-switch 0x0
9625 + .end packed-switch
9628 .method public native release()V
9631 .method public reset()V
9639 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_reset()V
9641 - iget-object v0, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
9642 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9645 + if-nez v1, :cond_1c
9647 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9649 + if-eqz v1, :cond_27
9651 + new-instance v0, Ljava/io/File;
9653 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9655 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9657 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9661 + if-eqz v1, :cond_1c
9663 - invoke-virtual {v0, v1}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
9664 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9668 + iput-object v3, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9670 + invoke-static {}, Ljava/lang/System;->gc()V
9672 + iget-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
9674 + invoke-virtual {v1, v3}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
9679 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9681 + if-eqz v1, :cond_3f
9683 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9685 + if-eqz v1, :cond_3f
9687 + new-instance v0, Ljava/io/File;
9689 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9691 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9693 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9697 + if-eqz v1, :cond_1c
9699 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9704 + const-string v1, "PM,MediaRecorder"
9706 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9708 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9712 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9717 .method public setAudioChannels(I)V
9718 @@ -506,6 +2651,10 @@
9719 .method public setCaptureRate(D)V
9724 + iput v3, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9726 const-string/jumbo v3, "time-lapse-enable=1"
9728 invoke-direct {p0, v3}, Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V
9729 @@ -800,6 +2949,10 @@
9731 iput-object p1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9735 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9740 @@ -817,6 +2970,10 @@
9742 iput-object p1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9746 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9751 @@ -829,7 +2986,11 @@
9754 .method public setPreviewDisplay(Landroid/view/Surface;)V
9760 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9762 iput-object p1, p0, Landroid/media/MediaRecorder;->mSurface:Landroid/view/Surface;
9764 @@ -839,6 +3000,10 @@
9765 .method public setProfile(Landroid/media/CamcorderProfile;)V
9770 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9772 iget v0, p1, Landroid/media/CamcorderProfile;->fileFormat:I
9774 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
9775 @@ -865,18 +3030,18 @@
9779 - if-lt v0, v1, :cond_28
9780 + if-lt v0, v1, :cond_2b
9782 iget v0, p1, Landroid/media/CamcorderProfile;->quality:I
9786 - if-gt v0, v1, :cond_28
9787 + if-gt v0, v1, :cond_2b
9795 iget v0, p1, Landroid/media/CamcorderProfile;->audioBitRate:I
9797 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V
9798 @@ -893,7 +3058,7 @@
9800 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
9806 .method public native setVideoEncoder(I)V
9807 @@ -907,7 +3072,11 @@
9808 .method public setVideoEncodingBitRate(I)V
9811 - if-gtz p1, :cond_a
9814 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9816 + if-gtz p1, :cond_d
9818 new-instance v0, Ljava/lang/IllegalArgumentException;
9820 @@ -917,7 +3086,7 @@
9826 new-instance v0, Ljava/lang/StringBuilder;
9828 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9829 diff -Npru stock-framework/smali/android/net/NetworkInfo.smali opd-framework/smali/android/net/NetworkInfo.smali
9830 --- stock-framework/smali/android/net/NetworkInfo.smali 2013-01-08 23:29:04.272092543 -0600
9831 +++ opd-framework/smali/android/net/NetworkInfo.smali 2013-01-08 23:29:43.100285083 -0600
9832 @@ -822,6 +822,14 @@
9836 +.method public setState(Landroid/net/NetworkInfo$State;)V
9839 + iput-object p1, p0, Landroid/net/NetworkInfo;->mState:Landroid/net/NetworkInfo$State;
9844 .method setSubtype(ILjava/lang/String;)V
9847 diff -Npru stock-framework/smali/android/net/wifi/WifiInfo.smali opd-framework/smali/android/net/wifi/WifiInfo.smali
9848 --- stock-framework/smali/android/net/wifi/WifiInfo.smali 2013-01-08 23:29:04.484093595 -0600
9849 +++ opd-framework/smali/android/net/wifi/WifiInfo.smali 2013-01-08 23:29:43.220285678 -0600
9850 @@ -265,6 +265,44 @@
9854 +.method public constructor <init>(Z)V
9859 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9861 + const-string v0, ""
9863 + invoke-static {v0}, Landroid/net/wifi/WifiSsid;->createFromAsciiEncoded(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
9865 + move-result-object v0
9867 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mWifiSsid:Landroid/net/wifi/WifiSsid;
9869 + const-string v0, ""
9871 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String;
9873 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mNetworkId:I
9875 + sget-object v0, Landroid/net/wifi/SupplicantState;->UNINITIALIZED:Landroid/net/wifi/SupplicantState;
9877 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mSupplicantState:Landroid/net/wifi/SupplicantState;
9879 + const/16 v0, -0x270f
9881 + iput v0, p0, Landroid/net/wifi/WifiInfo;->mRssi:I
9883 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mLinkSpeed:I
9887 + iput-boolean v0, p0, Landroid/net/wifi/WifiInfo;->mHiddenSSID:Z
9892 .method static synthetic access$002(Landroid/net/wifi/WifiInfo;Landroid/net/wifi/WifiSsid;)Landroid/net/wifi/WifiSsid;
9895 diff -Npru stock-framework/smali/android/net/wifi/WifiStateMachine.smali opd-framework/smali/android/net/wifi/WifiStateMachine.smali
9896 --- stock-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-01-08 23:29:04.568094008 -0600
9897 +++ opd-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-01-08 23:29:43.264285901 -0600
9898 @@ -6736,7 +6736,7 @@
9900 invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
9902 - const-string v2, "mUserWantsSuspendOpt "
9903 + const-string/jumbo v2, "mUserWantsSuspendOpt "
9905 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
9907 diff -Npru stock-framework/smali/android/os/SystemProperties.smali opd-framework/smali/android/os/SystemProperties.smali
9908 --- stock-framework/smali/android/os/SystemProperties.smali 2013-01-08 23:29:04.904095677 -0600
9909 +++ opd-framework/smali/android/os/SystemProperties.smali 2013-01-08 23:29:43.516287150 -0600
9914 +.field private static final GOT_ERROR:I = -0x3
9916 +.field private static final IS_ALLOWED:I = -0x1
9918 +.field private static final IS_NOT_ALLOWED:I = -0x2
9920 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "SystemProperties"
9922 .field public static final PROP_NAME_MAX:I = 0x1f
9924 .field public static final PROP_VALUE_MAX:I = 0x5b
9926 +.field private static context:Landroid/content/Context;
9928 +.field private static mPm:Landroid/content/pm/IPackageManager;
9930 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
9932 +.field private static privacyMode:Z
9934 .field private static final sChangeCallbacks:Ljava/util/ArrayList;
9935 .annotation system Ldalvik/annotation/Signature;
9939 sput-object v0, Landroid/os/SystemProperties;->sChangeCallbacks:Ljava/util/ArrayList;
9943 + sput-boolean v0, Landroid/os/SystemProperties;->privacyMode:Z
9948 @@ -142,6 +162,205 @@
9952 +.method private static checkIfPackagesAllowed()I
9958 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9960 + if-eqz v6, :cond_41
9964 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
9966 + move-result-object v3
9968 + invoke-static {}, Landroid/os/Process;->myUid()I
9972 + if-eqz v3, :cond_2c
9977 + array-length v6, v3
9979 + if-ge v1, v6, :cond_2a
9981 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9983 + aget-object v7, v3, v1
9985 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
9987 + move-result-object v2
9989 + if-eqz v2, :cond_26
9991 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
9995 + if-eqz v6, :cond_26
10005 + add-int/lit8 v1, v1, 0x1
10015 + const-string v6, "SystemProperties"
10017 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
10019 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10021 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
10026 + move-exception v0
10028 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10030 + const-string v6, "SystemProperties"
10032 + const-string v7, "Got exception in checkIfPackagesAllowed"
10034 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10040 + const-string v6, "SystemProperties"
10042 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
10044 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10046 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
10051 +.method private static dataAccess(Z)V
10054 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
10056 + move-result-object v1
10058 + if-eqz p0, :cond_2f
10060 + if-eqz v1, :cond_2f
10065 + array-length v2, v1
10067 + if-ge v0, v2, :cond_58
10069 + const-string v2, "SystemProperties"
10071 + new-instance v3, Ljava/lang/StringBuilder;
10073 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10075 + const-string v4, "Allowed Package: -"
10077 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10079 + move-result-object v3
10081 + aget-object v4, v1, v0
10083 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10085 + move-result-object v3
10087 + const-string v4, "- accessing networkinfo."
10089 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10091 + move-result-object v3
10093 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10095 + move-result-object v3
10097 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10099 + add-int/lit8 v0, v0, 0x1
10104 + if-eqz v1, :cond_58
10109 + array-length v2, v1
10111 + if-ge v0, v2, :cond_58
10113 + const-string v2, "SystemProperties"
10115 + new-instance v3, Ljava/lang/StringBuilder;
10117 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10119 + const-string v4, "Blocked Package: -"
10121 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10123 + move-result-object v3
10125 + aget-object v4, v1, v0
10127 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10129 + move-result-object v3
10131 + const-string v4, "- accessing networkinfo."
10133 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10135 + move-result-object v3
10137 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10139 + move-result-object v3
10141 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10143 + add-int/lit8 v0, v0, 0x1
10151 .method public static get(Ljava/lang/String;)Ljava/lang/String;
10154 @@ -162,11 +381,53 @@
10158 + const-string v0, "gsm.operator.alpha"
10160 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10164 + if-nez v0, :cond_20
10166 + const-string v0, "gsm.operator.numeric"
10168 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10172 + if-eqz v0, :cond_35
10175 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10177 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10183 + if-ne v0, v1, :cond_31
10187 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10189 + const-string v0, ""
10197 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10200 invoke-static {p0}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
10202 move-result-object v0
10208 .method public static get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10209 @@ -189,11 +450,53 @@
10213 + const-string v0, "gsm.operator.alpha"
10215 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10219 + if-nez v0, :cond_20
10221 + const-string v0, "gsm.operator.numeric"
10223 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10227 + if-eqz v0, :cond_35
10230 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10232 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10238 + if-ne v0, v1, :cond_31
10242 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10244 + const-string v0, ""
10252 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10255 invoke-static {p0, p1}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10257 move-result-object v0
10263 .method public static getBoolean(Ljava/lang/String;Z)Z
10264 @@ -277,6 +580,135 @@
10268 +.method private static getPackageName()[Ljava/lang/String;
10272 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10274 + if-eqz v3, :cond_f
10276 + invoke-static {}, Landroid/os/Process;->myUid()I
10280 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10282 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10284 + move-result-object v1
10290 + const-string/jumbo v3, "package"
10292 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10294 + move-result-object v3
10296 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10298 + move-result-object v3
10300 + sput-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10302 + invoke-static {}, Landroid/os/Process;->myUid()I
10306 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10308 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10310 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
10312 + move-result-object v1
10317 + move-exception v0
10319 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10321 + const-string v3, "SystemProperties"
10323 + const-string/jumbo v4, "something went wrong with getting package name"
10325 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10332 +.method private static initiate()V
10338 + sput-object v1, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10340 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
10342 + sget-object v2, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10344 + const-string/jumbo v3, "privacy"
10346 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10348 + move-result-object v3
10350 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10352 + move-result-object v3
10354 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10356 + sput-object v1, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10358 + const-string/jumbo v1, "package"
10360 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10362 + move-result-object v1
10364 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10366 + move-result-object v1
10368 + sput-object v1, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10372 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10374 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
10380 + move-exception v0
10382 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10384 + const-string v1, "SystemProperties"
10386 + const-string v2, "Something went wrong with initalize variables"
10388 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10392 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10397 .method private static native native_add_change_callback()V
10400 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali opd-framework/smali/android/privacy/IPrivacySettingsManager.smali
10401 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
10402 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager.smali 2013-01-08 23:29:43.592287519 -0600
10404 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
10405 +.super Ljava/lang/Object;
10406 +.source "IPrivacySettingsManager.java"
10409 +.implements Landroid/os/IInterface;
10413 +.annotation system Ldalvik/annotation/MemberClasses;
10415 + Landroid/privacy/IPrivacySettingsManager$Stub;
10421 +.method public abstract addObserver(Ljava/lang/String;)V
10422 + .annotation system Ldalvik/annotation/Throws;
10424 + Landroid/os/RemoteException;
10429 +.method public abstract deleteSettings(Ljava/lang/String;)Z
10430 + .annotation system Ldalvik/annotation/Throws;
10432 + Landroid/os/RemoteException;
10437 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10438 + .annotation system Ldalvik/annotation/Throws;
10440 + Landroid/os/RemoteException;
10445 +.method public abstract getVersion()D
10446 + .annotation system Ldalvik/annotation/Throws;
10448 + Landroid/os/RemoteException;
10453 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10454 + .annotation system Ldalvik/annotation/Throws;
10456 + Landroid/os/RemoteException;
10461 +.method public abstract purgeSettings()Z
10462 + .annotation system Ldalvik/annotation/Throws;
10464 + Landroid/os/RemoteException;
10469 +.method public abstract registerObservers()V
10470 + .annotation system Ldalvik/annotation/Throws;
10472 + Landroid/os/RemoteException;
10477 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
10478 + .annotation system Ldalvik/annotation/Throws;
10480 + Landroid/os/RemoteException;
10485 +.method public abstract setBootCompleted()V
10486 + .annotation system Ldalvik/annotation/Throws;
10488 + Landroid/os/RemoteException;
10493 +.method public abstract setEnabled(Z)Z
10494 + .annotation system Ldalvik/annotation/Throws;
10496 + Landroid/os/RemoteException;
10501 +.method public abstract setNotificationsEnabled(Z)Z
10502 + .annotation system Ldalvik/annotation/Throws;
10504 + Landroid/os/RemoteException;
10508 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
10509 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
10510 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2013-01-08 23:29:43.596287540 -0600
10512 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
10513 +.super Ljava/lang/Object;
10514 +.source "IPrivacySettingsManager.java"
10517 +.implements Landroid/privacy/IPrivacySettingsManager;
10521 +.annotation system Ldalvik/annotation/EnclosingClass;
10522 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
10525 +.annotation system Ldalvik/annotation/InnerClass;
10526 + accessFlags = 0xa
10532 +.field private mRemote:Landroid/os/IBinder;
10536 +.method constructor <init>(Landroid/os/IBinder;)V
10539 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10541 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10548 +.method public addObserver(Ljava/lang/String;)V
10550 + .annotation system Ldalvik/annotation/Throws;
10552 + Landroid/os/RemoteException;
10556 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10558 + move-result-object v0
10560 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10562 + move-result-object v1
10565 + const-string v2, "android.privacy.IPrivacySettingsManager"
10567 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10569 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10571 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10577 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10579 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10581 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
10583 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10585 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10590 + move-exception v2
10592 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10594 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10599 +.method public asBinder()Landroid/os/IBinder;
10602 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10607 +.method public deleteSettings(Ljava/lang/String;)Z
10609 + .annotation system Ldalvik/annotation/Throws;
10611 + Landroid/os/RemoteException;
10617 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10619 + move-result-object v0
10621 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10623 + move-result-object v1
10626 + const-string v3, "android.privacy.IPrivacySettingsManager"
10628 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10630 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10632 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10638 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10640 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10642 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10644 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
10648 + if-eqz v3, :cond_22
10653 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10655 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10660 + move-exception v3
10662 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10664 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10669 +.method public getInterfaceDescriptor()Ljava/lang/String;
10672 + const-string v0, "android.privacy.IPrivacySettingsManager"
10677 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10679 + .annotation system Ldalvik/annotation/Throws;
10681 + Landroid/os/RemoteException;
10685 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10687 + move-result-object v0
10689 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10691 + move-result-object v1
10694 + const-string v3, "android.privacy.IPrivacySettingsManager"
10696 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10698 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10700 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10706 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10708 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10710 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10714 + if-eqz v3, :cond_2f
10716 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
10718 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
10720 + move-result-object v2
10722 + check-cast v2, Landroid/privacy/PrivacySettings;
10724 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
10727 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10729 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10739 + move-exception v3
10741 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10743 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10748 +.method public getVersion()D
10750 + .annotation system Ldalvik/annotation/Throws;
10752 + Landroid/os/RemoteException;
10756 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10758 + move-result-object v0
10760 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10762 + move-result-object v1
10765 + const-string v4, "android.privacy.IPrivacySettingsManager"
10767 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10769 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10775 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10777 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10779 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
10781 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
10783 + move-result-wide v2
10785 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10787 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10792 + move-exception v4
10794 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10796 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10801 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10803 + .annotation system Ldalvik/annotation/Throws;
10805 + Landroid/os/RemoteException;
10809 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10811 + move-result-object v0
10813 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10815 + move-result-object v1
10818 + const-string v2, "android.privacy.IPrivacySettingsManager"
10820 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10822 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10824 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
10826 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10828 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10830 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10836 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10838 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10840 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
10842 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10844 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10849 + move-exception v2
10851 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10853 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10858 +.method public purgeSettings()Z
10860 + .annotation system Ldalvik/annotation/Throws;
10862 + Landroid/os/RemoteException;
10868 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10870 + move-result-object v0
10872 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10874 + move-result-object v1
10877 + const-string v3, "android.privacy.IPrivacySettingsManager"
10879 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10881 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10887 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10889 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10891 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10893 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
10897 + if-eqz v3, :cond_1f
10902 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10904 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10909 + move-exception v3
10911 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10913 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10918 +.method public registerObservers()V
10920 + .annotation system Ldalvik/annotation/Throws;
10922 + Landroid/os/RemoteException;
10926 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10928 + move-result-object v0
10930 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10932 + move-result-object v1
10935 + const-string v2, "android.privacy.IPrivacySettingsManager"
10937 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10939 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10945 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10947 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10949 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
10951 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10953 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10958 + move-exception v2
10960 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10962 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10967 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
10969 + .annotation system Ldalvik/annotation/Throws;
10971 + Landroid/os/RemoteException;
10979 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10981 + move-result-object v0
10983 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10985 + move-result-object v1
10988 + const-string v4, "android.privacy.IPrivacySettingsManager"
10990 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10992 + if-eqz p1, :cond_30
10996 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11000 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11003 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11009 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11011 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11013 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11015 + .catchall {:try_start_a .. :try_end_26} :catchall_35
11019 + if-eqz v4, :cond_3d
11022 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11024 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11032 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11034 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
11039 + move-exception v3
11041 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11043 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11053 +.method public setBootCompleted()V
11055 + .annotation system Ldalvik/annotation/Throws;
11057 + Landroid/os/RemoteException;
11061 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11063 + move-result-object v0
11065 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11067 + move-result-object v1
11070 + const-string v2, "android.privacy.IPrivacySettingsManager"
11072 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11074 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11080 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11082 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11084 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
11086 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11088 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11093 + move-exception v2
11095 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11097 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11102 +.method public setEnabled(Z)Z
11104 + .annotation system Ldalvik/annotation/Throws;
11106 + Landroid/os/RemoteException;
11114 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11116 + move-result-object v0
11118 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11120 + move-result-object v1
11123 + const-string v4, "android.privacy.IPrivacySettingsManager"
11125 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11127 + if-eqz p1, :cond_2d
11132 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11134 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11140 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11142 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11144 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11146 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11150 + if-eqz v4, :cond_2f
11153 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11155 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11170 + move-exception v3
11172 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11174 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11179 +.method public setNotificationsEnabled(Z)Z
11181 + .annotation system Ldalvik/annotation/Throws;
11183 + Landroid/os/RemoteException;
11191 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11193 + move-result-object v0
11195 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11197 + move-result-object v1
11200 + const-string v4, "android.privacy.IPrivacySettingsManager"
11202 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11204 + if-eqz p1, :cond_2d
11209 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11211 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11217 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11219 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11221 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11223 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11227 + if-eqz v4, :cond_2f
11230 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11232 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11247 + move-exception v3
11249 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11251 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11255 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
11256 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
11257 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2013-01-08 23:29:43.596287540 -0600
11259 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
11260 +.super Landroid/os/Binder;
11261 +.source "IPrivacySettingsManager.java"
11264 +.implements Landroid/privacy/IPrivacySettingsManager;
11268 +.annotation system Ldalvik/annotation/EnclosingClass;
11269 + value = Landroid/privacy/IPrivacySettingsManager;
11272 +.annotation system Ldalvik/annotation/InnerClass;
11273 + accessFlags = 0x409
11277 +.annotation system Ldalvik/annotation/MemberClasses;
11279 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11285 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
11287 +.field static final TRANSACTION_addObserver:I = 0x6
11289 +.field static final TRANSACTION_deleteSettings:I = 0x3
11291 +.field static final TRANSACTION_getSettings:I = 0x1
11293 +.field static final TRANSACTION_getVersion:I = 0x8
11295 +.field static final TRANSACTION_notification:I = 0x4
11297 +.field static final TRANSACTION_purgeSettings:I = 0x7
11299 +.field static final TRANSACTION_registerObservers:I = 0x5
11301 +.field static final TRANSACTION_saveSettings:I = 0x2
11303 +.field static final TRANSACTION_setBootCompleted:I = 0xb
11305 +.field static final TRANSACTION_setEnabled:I = 0x9
11307 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
11311 +.method public constructor <init>()V
11314 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
11316 + const-string v0, "android.privacy.IPrivacySettingsManager"
11318 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
11323 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
11326 + if-nez p0, :cond_4
11334 + const-string v1, "android.privacy.IPrivacySettingsManager"
11336 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
11338 + move-result-object v0
11340 + if-eqz v0, :cond_13
11342 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
11344 + if-eqz v1, :cond_13
11346 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
11351 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11353 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
11360 +.method public asBinder()Landroid/os/IBinder;
11366 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11368 + .annotation system Ldalvik/annotation/Throws;
11370 + Landroid/os/RemoteException;
11378 + sparse-switch p1, :sswitch_data_10e
11380 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11388 + const-string v6, "android.privacy.IPrivacySettingsManager"
11390 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11395 + const-string v8, "android.privacy.IPrivacySettingsManager"
11397 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11399 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11401 + move-result-object v0
11403 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11405 + move-result-object v4
11407 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11409 + if-eqz v4, :cond_29
11411 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
11413 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11418 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11423 + const-string v8, "android.privacy.IPrivacySettingsManager"
11425 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11427 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11431 + if-eqz v8, :cond_4e
11433 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
11435 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
11437 + move-result-object v0
11439 + check-cast v0, Landroid/privacy/PrivacySettings;
11442 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11446 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11448 + if-eqz v4, :cond_4a
11453 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11463 + const-string v8, "android.privacy.IPrivacySettingsManager"
11465 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11467 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11469 + move-result-object v0
11471 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
11475 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11477 + if-eqz v4, :cond_63
11482 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11487 + const-string v6, "android.privacy.IPrivacySettingsManager"
11489 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11491 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11493 + move-result-object v0
11495 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
11499 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11501 + move-result-object v2
11503 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11505 + move-result-object v3
11507 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11509 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11514 + const-string v6, "android.privacy.IPrivacySettingsManager"
11516 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11518 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
11520 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11525 + const-string v6, "android.privacy.IPrivacySettingsManager"
11527 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11529 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11531 + move-result-object v0
11533 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
11535 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11540 + const-string v8, "android.privacy.IPrivacySettingsManager"
11542 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11544 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
11548 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11550 + if-eqz v4, :cond_b0
11555 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11560 + const-string v6, "android.privacy.IPrivacySettingsManager"
11562 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11564 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
11566 + move-result-wide v4
11568 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11570 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
11575 + const-string v8, "android.privacy.IPrivacySettingsManager"
11577 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11579 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11583 + if-eqz v8, :cond_e1
11588 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
11592 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11594 + if-eqz v4, :cond_dc
11599 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11609 + const-string v8, "android.privacy.IPrivacySettingsManager"
11611 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11613 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11617 + if-eqz v8, :cond_fe
11622 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
11626 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11628 + if-eqz v4, :cond_f9
11633 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11643 + const-string v6, "android.privacy.IPrivacySettingsManager"
11645 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11647 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
11649 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11655 + :sswitch_data_10e
11657 + 0x1 -> :sswitch_10
11658 + 0x2 -> :sswitch_2d
11659 + 0x3 -> :sswitch_50
11660 + 0x4 -> :sswitch_67
11661 + 0x5 -> :sswitch_83
11662 + 0x6 -> :sswitch_90
11663 + 0x7 -> :sswitch_a1
11664 + 0x8 -> :sswitch_b5
11665 + 0x9 -> :sswitch_c6
11666 + 0xa -> :sswitch_e3
11667 + 0xb -> :sswitch_100
11668 + 0x5f4e5446 -> :sswitch_a
11669 + .end sparse-switch
11671 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali opd-framework/smali/android/privacy/PrivacyFileObserver.smali
11672 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
11673 +++ opd-framework/smali/android/privacy/PrivacyFileObserver.smali 2013-01-08 23:29:43.596287540 -0600
11675 +.class public final Landroid/privacy/PrivacyFileObserver;
11676 +.super Landroid/os/FileObserver;
11677 +.source "PrivacyFileObserver.java"
11681 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
11683 +.field public static final SETTINGS_TYPE_INDEX:I = 0x4
11685 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
11689 +.field public absolutePath:Ljava/lang/String;
11691 +.field public children:Ljava/util/HashMap;
11692 + .annotation system Ldalvik/annotation/Signature;
11694 + "Ljava/util/HashMap",
11696 + "Ljava/lang/String;",
11697 + "Landroid/privacy/PrivacyFileObserver;",
11703 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11707 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11710 + const/16 v8, 0xfff
11712 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
11714 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11716 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11718 + new-instance v8, Ljava/util/HashMap;
11720 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
11722 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11724 + new-instance v7, Ljava/io/File;
11726 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11728 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11730 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
11734 + if-eqz v8, :cond_42
11736 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
11738 + move-result-object v6
11740 + move-object v0, v6
11742 + array-length v4, v0
11747 + if-ge v3, v4, :cond_42
11749 + aget-object v2, v0, v3
11751 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
11753 + move-result-object v5
11755 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
11757 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11759 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11761 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
11763 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
11767 + if-eqz v8, :cond_3f
11769 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
11772 + add-int/lit8 v3, v3, 0x1
11782 +.method public addObserver(Ljava/lang/String;)V
11785 + new-instance v2, Ljava/lang/StringBuilder;
11787 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11789 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11791 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11793 + move-result-object v2
11795 + const-string v3, "/"
11797 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11799 + move-result-object v2
11801 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11803 + move-result-object v2
11805 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11807 + move-result-object v1
11809 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11811 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
11813 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
11815 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11817 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11819 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11821 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
11826 +.method public onEvent(ILjava/lang/String;)V
11829 + and-int/lit8 v5, p1, 0x1
11831 + if-eqz v5, :cond_48
11833 + new-instance v4, Ljava/util/StringTokenizer;
11835 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11837 + const-string v6, "/"
11839 + invoke-direct {v4, v5, v6}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
11846 + if-ge v0, v5, :cond_1d
11848 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
11852 + if-eqz v5, :cond_1d
11854 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
11856 + add-int/lit8 v0, v0, 0x1
11861 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
11863 + move-result-object v2
11867 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
11871 + if-eqz v5, :cond_2c
11873 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
11875 + move-result-object v3
11878 + if-eqz v3, :cond_49
11881 + const-string v5, "ipTableProtectSetting"
11883 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11887 + if-eqz v5, :cond_49
11889 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11891 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11893 + move-result-object v1
11895 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11897 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
11901 + const-string v7, "iptables"
11905 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11912 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11914 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11916 + move-result-object v1
11918 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11920 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
11924 + const-string/jumbo v7, "systemLogs"
11928 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11930 + .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_5c} :catch_5d
11935 + move-exception v5
11940 +.method public startWatching()V
11943 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
11947 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali opd-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
11948 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
11949 +++ opd-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2013-01-08 23:29:43.604287582 -0600
11951 +.class public final Landroid/privacy/PrivacyPersistenceAdapter;
11952 +.super Ljava/lang/Object;
11953 +.source "PrivacyPersistenceAdapter.java"
11957 +.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) );"
11959 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
11961 +.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);"
11963 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
11965 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
11967 +.field private static final DATABASE_VERSION:I = 0x4
11969 +.field public static final DUMMY_UID:I = -0x1
11971 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
11973 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
11975 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
11977 +.field private static final LOG_LOCKING:Z = false
11979 +.field private static final RETRY_QUERY_COUNT:I = 0x5
11981 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
11983 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
11985 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
11987 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
11989 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
11991 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
11993 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
11995 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
11997 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
11999 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
12001 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
12003 +.field public static volatile sDbAccessThreads:Ljava/lang/Integer;
12005 +.field private static sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12007 +.field public static volatile sDbVersion:I
12011 +.field private mContext:Landroid/content/Context;
12013 +.field private mDb:Landroid/database/sqlite/SQLiteDatabase;
12017 +.method static constructor <clinit>()V
12022 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12024 + move-result-object v0
12026 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12028 + new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
12030 + invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
12032 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12034 + const/16 v0, 0x2f
12036 + new-array v0, v0, [Ljava/lang/String;
12038 + const-string v1, "_id"
12040 + aput-object v1, v0, v2
12044 + const-string/jumbo v2, "packageName"
12046 + aput-object v2, v0, v1
12050 + const-string/jumbo v2, "uid"
12052 + aput-object v2, v0, v1
12056 + const-string v2, "deviceIdSetting"
12058 + aput-object v2, v0, v1
12062 + const-string v2, "deviceId"
12064 + aput-object v2, v0, v1
12068 + const-string v2, "line1NumberSetting"
12070 + aput-object v2, v0, v1
12074 + const-string v2, "line1Number"
12076 + aput-object v2, v0, v1
12080 + const-string v2, "locationGpsSetting"
12082 + aput-object v2, v0, v1
12086 + const-string v2, "locationGpsLat"
12088 + aput-object v2, v0, v1
12092 + const-string v2, "locationGpsLon"
12094 + aput-object v2, v0, v1
12098 + const-string v2, "locationNetworkSetting"
12100 + aput-object v2, v0, v1
12104 + const-string v2, "locationNetworkLat"
12106 + aput-object v2, v0, v1
12110 + const-string v2, "locationNetworkLon"
12112 + aput-object v2, v0, v1
12116 + const-string/jumbo v2, "networkInfoSetting"
12118 + aput-object v2, v0, v1
12122 + const-string/jumbo v2, "simInfoSetting"
12124 + aput-object v2, v0, v1
12128 + const-string/jumbo v2, "simSerialNumberSetting"
12130 + aput-object v2, v0, v1
12132 + const/16 v1, 0x10
12134 + const-string/jumbo v2, "simSerialNumber"
12136 + aput-object v2, v0, v1
12138 + const/16 v1, 0x11
12140 + const-string/jumbo v2, "subscriberIdSetting"
12142 + aput-object v2, v0, v1
12144 + const/16 v1, 0x12
12146 + const-string/jumbo v2, "subscriberId"
12148 + aput-object v2, v0, v1
12150 + const/16 v1, 0x13
12152 + const-string v2, "accountsSetting"
12154 + aput-object v2, v0, v1
12156 + const/16 v1, 0x14
12158 + const-string v2, "accountsAuthTokensSetting"
12160 + aput-object v2, v0, v1
12162 + const/16 v1, 0x15
12164 + const-string/jumbo v2, "outgoingCallsSetting"
12166 + aput-object v2, v0, v1
12168 + const/16 v1, 0x16
12170 + const-string v2, "incomingCallsSetting"
12172 + aput-object v2, v0, v1
12174 + const/16 v1, 0x17
12176 + const-string v2, "contactsSetting"
12178 + aput-object v2, v0, v1
12180 + const/16 v1, 0x18
12182 + const-string v2, "calendarSetting"
12184 + aput-object v2, v0, v1
12186 + const/16 v1, 0x19
12188 + const-string/jumbo v2, "mmsSetting"
12190 + aput-object v2, v0, v1
12192 + const/16 v1, 0x1a
12194 + const-string/jumbo v2, "smsSetting"
12196 + aput-object v2, v0, v1
12198 + const/16 v1, 0x1b
12200 + const-string v2, "callLogSetting"
12202 + aput-object v2, v0, v1
12204 + const/16 v1, 0x1c
12206 + const-string v2, "bookmarksSetting"
12208 + aput-object v2, v0, v1
12210 + const/16 v1, 0x1d
12212 + const-string/jumbo v2, "systemLogsSetting"
12214 + aput-object v2, v0, v1
12216 + const/16 v1, 0x1e
12218 + const-string v2, "externalStorageSetting"
12220 + aput-object v2, v0, v1
12222 + const/16 v1, 0x1f
12224 + const-string v2, "cameraSetting"
12226 + aput-object v2, v0, v1
12228 + const/16 v1, 0x20
12230 + const-string/jumbo v2, "recordAudioSetting"
12232 + aput-object v2, v0, v1
12234 + const/16 v1, 0x21
12236 + const-string/jumbo v2, "notificationSetting"
12238 + aput-object v2, v0, v1
12240 + const/16 v1, 0x22
12242 + const-string v2, "intentBootCompletedSetting"
12244 + aput-object v2, v0, v1
12246 + const/16 v1, 0x23
12248 + const-string/jumbo v2, "smsSendSetting"
12250 + aput-object v2, v0, v1
12252 + const/16 v1, 0x24
12254 + const-string/jumbo v2, "phoneCallSetting"
12256 + aput-object v2, v0, v1
12258 + const/16 v1, 0x25
12260 + const-string v2, "ipTableProtectSetting"
12262 + aput-object v2, v0, v1
12264 + const/16 v1, 0x26
12266 + const-string v2, "iccAccessSetting"
12268 + aput-object v2, v0, v1
12270 + const/16 v1, 0x27
12272 + const-string v2, "addOnManagementSetting"
12274 + aput-object v2, v0, v1
12276 + const/16 v1, 0x28
12278 + const-string v2, "androidIdSetting"
12280 + aput-object v2, v0, v1
12282 + const/16 v1, 0x29
12284 + const-string v2, "androidId"
12286 + aput-object v2, v0, v1
12288 + const/16 v1, 0x2a
12290 + const-string/jumbo v2, "wifiInfoSetting"
12292 + aput-object v2, v0, v1
12294 + const/16 v1, 0x2b
12296 + const-string/jumbo v2, "switchConnectivitySetting"
12298 + aput-object v2, v0, v1
12300 + const/16 v1, 0x2c
12302 + const-string/jumbo v2, "sendMmsSetting"
12304 + aput-object v2, v0, v1
12306 + const/16 v1, 0x2d
12308 + const-string v2, "forceOnlineState"
12310 + aput-object v2, v0, v1
12312 + const/16 v1, 0x2e
12314 + const-string/jumbo v2, "switchWifiStateSetting"
12316 + aput-object v2, v0, v1
12318 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
12323 +.method public constructor <init>(Landroid/content/Context;)V
12326 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12328 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
12330 + new-instance v0, Ljava/io/File;
12332 + const-string v1, "/data/system/"
12334 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12336 + invoke-virtual {v0}, Ljava/io/File;->canWrite()Z
12340 + if-eqz v0, :cond_6c
12342 + new-instance v0, Ljava/io/File;
12344 + const-string v1, "/data/system/privacy.db"
12346 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12348 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12352 + if-eqz v0, :cond_2c
12354 + new-instance v0, Ljava/io/File;
12356 + const-string v1, "/data/system/privacy"
12358 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12360 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12364 + if-nez v0, :cond_5e
12367 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12369 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12371 + move-result-object v0
12373 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
12376 + new-instance v0, Ljava/io/File;
12378 + const-string v1, "/data/system/privacy.db"
12380 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12382 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12386 + if-nez v0, :cond_45
12388 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
12391 + new-instance v0, Ljava/io/File;
12393 + const-string v1, "/data/system/privacy"
12395 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12397 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12401 + if-nez v0, :cond_55
12403 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
12405 + .catchall {:try_start_35 .. :try_end_55} :catchall_6d
12408 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12410 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12412 + move-result-object v0
12414 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
12417 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
12421 + sput v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12423 + sget v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12427 + if-ge v0, v1, :cond_6c
12429 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase()V
12435 + move-exception v0
12437 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12439 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12441 + move-result-object v1
12443 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
12448 +.method private closeIdleDatabase()V
12451 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12456 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12458 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12460 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12464 + add-int/lit8 v0, v0, -0x1
12466 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12468 + move-result-object v0
12470 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12472 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12474 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12478 + if-nez v0, :cond_2c
12480 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12482 + if-eqz v0, :cond_2c
12484 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12486 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12490 + if-eqz v0, :cond_2c
12492 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12494 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12502 + move-exception v0
12506 + .catchall {:try_start_3 .. :try_end_30} :catchall_2e
12511 +.method private createDatabase()V
12514 + const-string v2, "PrivacyPersistenceAdapter"
12516 + const-string v3, "createDatabase - creating privacy database file"
12518 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12521 + const-string v2, "/data/system/privacy.db"
12525 + const/high16 v4, 0x1000
12527 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
12529 + move-result-object v0
12531 + const-string v2, "PrivacyPersistenceAdapter"
12533 + const-string v3, "createDatabase - creating privacy database"
12535 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12537 + 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);"
12539 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12541 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
12543 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12545 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
12547 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12549 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
12551 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12553 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
12555 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12557 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
12559 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12561 + if-eqz v0, :cond_40
12563 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12567 + if-eqz v2, :cond_40
12569 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12571 + .catch Landroid/database/SQLException; {:try_start_7 .. :try_end_40} :catch_41
12578 + move-exception v1
12580 + const-string v2, "PrivacyPersistenceAdapter"
12582 + const-string v3, "createDatabase - failed to create privacy database"
12584 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12589 +.method private createSettingsDir()V
12596 + new-instance v0, Ljava/io/File;
12598 + const-string v1, "/data/system/privacy/"
12600 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12602 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
12604 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setReadable(ZZ)Z
12606 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setExecutable(ZZ)Z
12611 +.method private deleteRecursive(Ljava/io/File;)V
12614 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
12618 + if-eqz v4, :cond_16
12620 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
12622 + move-result-object v0
12624 + array-length v3, v0
12629 + if-ge v2, v3, :cond_16
12631 + aget-object v1, v0, v2
12633 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
12635 + add-int/lit8 v2, v2, 0x1
12640 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
12645 +.method private declared-synchronized getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12651 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12653 + if-eqz v0, :cond_15
12655 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12657 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12661 + if-eqz v0, :cond_15
12663 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12665 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
12669 + if-eqz v0, :cond_1f
12672 + const-string v0, "/data/system/privacy.db"
12678 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
12680 + move-result-object v0
12682 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12685 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12687 + .catchall {:try_start_1 .. :try_end_21} :catchall_23
12694 + move-exception v0
12701 +.method private getDbVersion()I
12706 + const-string v3, "db_version"
12708 + invoke-virtual {p0, v3}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
12710 + move-result-object v1
12712 + if-nez v1, :cond_11
12714 + const-string v3, "PrivacyPersistenceAdapter"
12716 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: getValue returned null; assuming version = 1"
12718 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12725 + invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
12727 + .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_14} :catch_16
12734 + move-exception v0
12736 + const-string v3, "PrivacyPersistenceAdapter"
12738 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: failed to parse database version; returning 1"
12740 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12745 +.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;
12747 + .annotation system Ldalvik/annotation/Throws;
12749 + Ljava/lang/Exception;
12760 + if-nez v3, :cond_27
12764 + if-ge v2, v4, :cond_27
12766 + if-eqz v0, :cond_d
12769 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12772 + 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;
12774 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
12776 + move-result-object v0
12781 + add-int/lit8 v2, v2, 0x1
12786 + move-exception v1
12790 + if-eqz p1, :cond_22
12792 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12796 + if-eqz v4, :cond_22
12798 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12801 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12803 + move-result-object p1
12808 + if-nez v3, :cond_32
12810 + new-instance v4, Ljava/lang/Exception;
12812 + const-string/jumbo v5, "query - failed to execute query on the DB"
12814 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
12822 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
12824 + .annotation system Ldalvik/annotation/Throws;
12826 + Ljava/lang/Exception;
12837 + if-nez v3, :cond_28
12841 + if-ge v2, v4, :cond_28
12843 + if-eqz v0, :cond_d
12846 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12851 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
12853 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
12855 + move-result-object v0
12860 + add-int/lit8 v2, v2, 0x1
12865 + move-exception v1
12869 + if-eqz p1, :cond_23
12871 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12875 + if-eqz v4, :cond_23
12877 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12880 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12882 + move-result-object p1
12887 + if-nez v3, :cond_33
12889 + new-instance v4, Ljava/lang/Exception;
12891 + const-string/jumbo v5, "query - failed to execute query on the DB"
12893 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
12901 +.method private upgradeDatabase()V
12904 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12908 + if-ge v14, v15, :cond_31
12910 + const-string v14, "PrivacyPersistenceAdapter"
12912 + new-instance v15, Ljava/lang/StringBuilder;
12914 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
12916 + const-string v16, "PrivacyPersistenceAdapter:upgradeDatabase - upgrading DB from version "
12918 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12920 + move-result-object v15
12922 + sget v16, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12924 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12926 + move-result-object v15
12928 + const-string v16, " to "
12930 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12932 + move-result-object v15
12934 + const/16 v16, 0x4
12936 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12938 + move-result-object v15
12940 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12942 + move-result-object v15
12944 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12948 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12950 + packed-switch v14, :pswitch_data_12c
12958 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12960 + monitor-enter v15
12962 + .catchall {:try_start_32 .. :try_end_35} :catchall_11e
12963 + .catch Landroid/database/SQLException; {:try_start_32 .. :try_end_35} :catch_e6
12966 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12968 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12970 + invoke-virtual {v14}, Ljava/lang/Integer;->intValue()I
12974 + add-int/lit8 v14, v14, 0x1
12976 + invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12978 + move-result-object v14
12980 + sput-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12984 + .catchall {:try_start_35 .. :try_end_46} :catchall_e3
12987 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12989 + move-result-object v3
12991 + if-eqz v3, :cond_109
12993 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12997 + if-eqz v14, :cond_109
12999 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13001 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13003 + move-result-object v14
13005 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->lock()V
13007 + .catchall {:try_start_46 .. :try_end_5b} :catchall_11e
13008 + .catch Landroid/database/SQLException; {:try_start_46 .. :try_end_5b} :catch_e6
13011 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13015 + if-ge v14, v15, :cond_100
13017 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
13019 + .catchall {:try_start_5b .. :try_end_63} :catchall_113
13022 + const-string v14, "DROP TABLE IF EXISTS version;"
13024 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13026 + const-string v14, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
13028 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13030 + const-string v14, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
13032 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13034 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
13036 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13038 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
13040 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13042 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
13044 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
13046 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
13048 + new-instance v11, Ljava/io/File;
13050 + const-string v14, "/data/system/privacy"
13052 + invoke-direct {v11, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13054 + invoke-virtual {v11}, Ljava/io/File;->listFiles()[Ljava/io/File;
13056 + move-result-object v1
13058 + array-length v7, v1
13065 + if-ge v6, v7, :cond_f7
13067 + aget-object v10, v1, v6
13069 + invoke-virtual {v10}, Ljava/io/File;->listFiles()[Ljava/io/File;
13071 + move-result-object v2
13073 + array-length v8, v2
13078 + if-ge v5, v8, :cond_f3
13080 + aget-object v13, v2, v5
13082 + invoke-virtual {v13}, Ljava/io/File;->isDirectory()Z
13086 + if-eqz v14, :cond_e0
13088 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
13090 + move-result-object v12
13094 + aget-object v14, v12, v14
13096 + if-eqz v14, :cond_e0
13098 + new-instance v9, Ljava/io/File;
13100 + new-instance v14, Ljava/lang/StringBuilder;
13102 + invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
13104 + invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13106 + move-result-object v14
13108 + const-string v15, "/"
13110 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13112 + move-result-object v14
13116 + aget-object v15, v12, v15
13118 + invoke-virtual {v15}, Ljava/io/File;->getName()Ljava/lang/String;
13120 + move-result-object v15
13122 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13124 + move-result-object v14
13126 + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13128 + move-result-object v14
13130 + invoke-direct {v9, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13132 + invoke-virtual {v9}, Ljava/io/File;->delete()Z
13136 + aget-object v14, v12, v14
13138 + invoke-virtual {v14, v9}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
13140 + move-object/from16 v0, p0
13142 + invoke-direct {v0, v13}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
13144 + .catchall {:try_start_63 .. :try_end_e0} :catchall_10e
13147 + add-int/lit8 v5, v5, 0x1
13152 + move-exception v14
13157 + .catchall {:try_start_e4 .. :try_end_e5} :catchall_e3
13162 + .catchall {:try_start_e5 .. :try_end_e6} :catchall_11e
13163 + .catch Landroid/database/SQLException; {:try_start_e5 .. :try_end_e6} :catch_e6
13166 + move-exception v4
13169 + const-string v14, "PrivacyPersistenceAdapter"
13171 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: SQLException occurred performing database upgrade"
13173 + invoke-static {v14, v15, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13175 + .catchall {:try_start_e7 .. :try_end_ee} :catchall_11e
13177 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13182 + add-int/lit8 v5, v6, 0x1
13190 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13194 + sput v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13196 + .catchall {:try_start_f7 .. :try_end_fd} :catchall_10e
13199 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13201 + .catchall {:try_start_fd .. :try_end_100} :catchall_113
13205 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13207 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13209 + move-result-object v14
13211 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->unlock()V
13213 + .catchall {:try_start_100 .. :try_end_109} :catchall_11e
13214 + .catch Landroid/database/SQLException; {:try_start_100 .. :try_end_109} :catch_e6
13217 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13222 + move-exception v14
13225 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13229 + .catchall {:try_start_10f .. :try_end_113} :catchall_113
13232 + move-exception v14
13235 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13237 + invoke-interface {v15}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13239 + move-result-object v15
13241 + invoke-interface {v15}, Ljava/util/concurrent/locks/Lock;->unlock()V
13245 + .catchall {:try_start_114 .. :try_end_11e} :catchall_11e
13246 + .catch Landroid/database/SQLException; {:try_start_114 .. :try_end_11e} :catch_e6
13249 + move-exception v14
13251 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13256 + const-string v14, "PrivacyPersistenceAdapter"
13258 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: Database is already at the most recent version"
13260 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13264 + :pswitch_data_12c
13265 + .packed-switch 0x1
13270 + .end packed-switch
13273 +.method private writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
13275 + .annotation system Ldalvik/annotation/Throws;
13277 + Ljava/lang/Exception;
13283 + new-instance v2, Ljava/io/File;
13285 + new-instance v5, Ljava/lang/StringBuilder;
13287 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13289 + const-string v6, "/data/system/privacy/"
13291 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13293 + move-result-object v5
13295 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13297 + move-result-object v5
13299 + const-string v6, "/"
13301 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13303 + move-result-object v5
13305 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13307 + move-result-object v5
13309 + invoke-direct {v2, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13311 + new-instance v3, Ljava/io/File;
13313 + new-instance v5, Ljava/lang/StringBuilder;
13315 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13317 + const-string v6, "/data/system/privacy/"
13319 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13321 + move-result-object v5
13323 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13325 + move-result-object v5
13327 + const-string v6, "/"
13329 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13331 + move-result-object v5
13333 + const-string v6, "/"
13335 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13337 + move-result-object v5
13339 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13341 + move-result-object v5
13343 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13345 + move-result-object v5
13347 + invoke-direct {v3, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13351 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13353 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13355 + move-result-object v5
13357 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->lock()V
13360 + invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
13366 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13372 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setExecutable(ZZ)Z
13374 + invoke-virtual {v3}, Ljava/io/File;->createNewFile()Z
13380 + invoke-virtual {v3, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13382 + new-instance v4, Ljava/io/OutputStreamWriter;
13384 + new-instance v5, Ljava/io/FileOutputStream;
13386 + invoke-direct {v5, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
13388 + invoke-direct {v4, v5}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
13390 + const-string/jumbo v5, "systemLogsSetting"
13392 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13396 + if-eqz v5, :cond_a4
13398 + new-instance v5, Ljava/lang/StringBuilder;
13400 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13402 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
13406 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13408 + move-result-object v5
13410 + const-string v6, ""
13412 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13414 + move-result-object v5
13416 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13418 + move-result-object v5
13420 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13424 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->flush()V
13426 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->close()V
13428 + .catchall {:try_start_51 .. :try_end_99} :catchall_d1
13429 + .catch Ljava/io/IOException; {:try_start_51 .. :try_end_99} :catch_c7
13433 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13435 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13437 + move-result-object v5
13439 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
13445 + const-string v5, "ipTableProtectSetting"
13447 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13451 + if-eqz v5, :cond_93
13453 + new-instance v5, Ljava/lang/StringBuilder;
13455 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13457 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
13461 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13463 + move-result-object v5
13465 + const-string v6, ""
13467 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13469 + move-result-object v5
13471 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13473 + move-result-object v5
13475 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13477 + .catchall {:try_start_a4 .. :try_end_c6} :catchall_d1
13478 + .catch Ljava/io/IOException; {:try_start_a4 .. :try_end_c6} :catch_c7
13483 + move-exception v0
13486 + new-instance v5, Ljava/lang/Exception;
13488 + const-string/jumbo v6, "saveSettings - could not write settings to file"
13490 + invoke-direct {v5, v6, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
13494 + .catchall {:try_start_c8 .. :try_end_d1} :catchall_d1
13497 + move-exception v5
13499 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13501 + invoke-interface {v6}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13503 + move-result-object v6
13505 + invoke-interface {v6}, Ljava/util/concurrent/locks/Lock;->unlock()V
13512 +.method public deleteSettings(Ljava/lang/String;)Z
13520 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13524 + .catchall {:try_start_2 .. :try_end_5} :catchall_148
13525 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2 .. :try_end_5} :catch_fe
13526 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_13b
13529 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13531 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13533 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
13537 + add-int/lit8 v1, v1, 0x1
13539 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13541 + move-result-object v1
13543 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13547 + .catchall {:try_start_5 .. :try_end_16} :catchall_fb
13550 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13552 + move-result-object v0
13554 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13556 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13558 + move-result-object v1
13560 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
13562 + .catchall {:try_start_16 .. :try_end_23} :catchall_148
13563 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_16 .. :try_end_23} :catch_fe
13564 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_23} :catch_13b
13567 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
13569 + .catchall {:try_start_23 .. :try_end_26} :catchall_130
13572 + const-string/jumbo v1, "settings"
13576 + new-array v2, v2, [Ljava/lang/String;
13580 + const-string v4, "_id"
13582 + aput-object v4, v2, v3
13584 + const-string/jumbo v3, "packageName=?"
13588 + new-array v4, v4, [Ljava/lang/String;
13592 + aput-object p1, v4, v5
13600 + 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;
13602 + move-result-object v8
13604 + if-eqz v8, :cond_10b
13606 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
13610 + if-lez v1, :cond_10b
13612 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
13616 + if-eqz v1, :cond_10b
13620 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
13624 + const-string v1, "allowed_contacts"
13626 + const-string/jumbo v2, "settings_id=?"
13630 + new-array v3, v3, [Ljava/lang/String;
13634 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
13636 + move-result-object v5
13638 + aput-object v5, v3, v4
13640 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
13642 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
13645 + const-string/jumbo v1, "settings"
13647 + const-string/jumbo v2, "packageName=?"
13651 + new-array v3, v3, [Ljava/lang/String;
13655 + aput-object p1, v3, v4
13657 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
13661 + if-nez v1, :cond_99
13663 + const-string v1, "PrivacyPersistenceAdapter"
13665 + new-instance v2, Ljava/lang/StringBuilder;
13667 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13669 + const-string v3, "deleteSettings - database entry for "
13671 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13673 + move-result-object v2
13675 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13677 + move-result-object v2
13679 + const-string v3, " not found"
13681 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13683 + move-result-object v2
13685 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13687 + move-result-object v2
13689 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13692 + new-instance v12, Ljava/io/File;
13694 + new-instance v1, Ljava/lang/StringBuilder;
13696 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13698 + const-string v2, "/data/system/privacy/"
13700 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13702 + move-result-object v1
13704 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13706 + move-result-object v1
13708 + const-string v2, "/"
13710 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13712 + move-result-object v1
13714 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13716 + move-result-object v1
13718 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13720 + new-instance v13, Ljava/io/File;
13722 + new-instance v1, Ljava/lang/StringBuilder;
13724 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13726 + const-string v2, "/data/system/privacy/"
13728 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13730 + move-result-object v1
13732 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13734 + move-result-object v1
13736 + const-string v2, "/systemLogsSetting"
13738 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13740 + move-result-object v1
13742 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13744 + move-result-object v1
13746 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13748 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
13750 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
13752 + move-result-object v1
13754 + if-eqz v1, :cond_e5
13756 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
13758 + move-result-object v1
13760 + array-length v1, v1
13762 + if-nez v1, :cond_e8
13765 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
13768 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13770 + .catchall {:try_start_26 .. :try_end_eb} :catchall_12b
13773 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13775 + .catchall {:try_start_eb .. :try_end_ee} :catchall_130
13778 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13780 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13782 + move-result-object v1
13784 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
13786 + .catchall {:try_start_ee .. :try_end_f7} :catchall_148
13787 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_ee .. :try_end_f7} :catch_fe
13788 + .catch Ljava/lang/Exception; {:try_start_ee .. :try_end_f7} :catch_13b
13790 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13796 + move-exception v1
13801 + .catchall {:try_start_fc .. :try_end_fd} :catchall_fb
13806 + .catchall {:try_start_fd .. :try_end_fe} :catchall_148
13807 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_fd .. :try_end_fe} :catch_fe
13808 + .catch Ljava/lang/Exception; {:try_start_fd .. :try_end_fe} :catch_13b
13811 + move-exception v9
13816 + const-string v1, "PrivacyPersistenceAdapter"
13818 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings: failed to open the database, or open a transaction"
13820 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13822 + .catchall {:try_start_100 .. :try_end_107} :catchall_148
13824 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13830 + const-string v1, "PrivacyPersistenceAdapter"
13832 + new-instance v2, Ljava/lang/StringBuilder;
13834 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13836 + const-string v3, "deleteSettings - database entry for "
13838 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13840 + move-result-object v2
13842 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13844 + move-result-object v2
13846 + const-string v3, " not found"
13848 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13850 + move-result-object v2
13852 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13854 + move-result-object v2
13856 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13858 + .catchall {:try_start_10b .. :try_end_129} :catchall_12b
13863 + move-exception v1
13866 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13870 + .catchall {:try_start_12c .. :try_end_130} :catchall_130
13873 + move-exception v1
13876 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13878 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13880 + move-result-object v2
13882 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
13886 + .catchall {:try_start_131 .. :try_end_13b} :catchall_148
13887 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_131 .. :try_end_13b} :catch_fe
13888 + .catch Ljava/lang/Exception; {:try_start_131 .. :try_end_13b} :catch_13b
13891 + move-exception v9
13896 + const-string v1, "PrivacyPersistenceAdapter"
13898 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings - could not delete settings"
13900 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13902 + .catchall {:try_start_13d .. :try_end_144} :catchall_148
13904 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13909 + move-exception v1
13911 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13916 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
13919 + const/16 v55, 0x0
13921 + if-nez p1, :cond_c
13923 + new-instance v1, Ljava/security/InvalidParameterException;
13925 + const-string v4, "PrivacyPersistenceAdapter:getSettings:insufficient application identifier - package name is required"
13927 + invoke-direct {v1, v4}, Ljava/security/InvalidParameterException;-><init>(Ljava/lang/String;)V
13933 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13937 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_c .. :try_end_f} :catch_2ce
13940 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13942 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13944 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
13948 + add-int/lit8 v1, v1, 0x1
13950 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13952 + move-result-object v1
13954 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13958 + .catchall {:try_start_f .. :try_end_20} :catchall_2cb
13961 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13963 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_2ce
13965 + move-result-object v2
13967 + const/16 v53, 0x0
13969 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13971 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
13973 + move-result-object v1
13975 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
13978 + const-string/jumbo v3, "settings"
13980 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
13982 + const-string/jumbo v5, "packageName=?"
13986 + new-array v6, v1, [Ljava/lang/String;
13990 + aput-object p1, v6, v1
14000 + move-object/from16 v1, p0
14002 + 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;
14004 + move-result-object v53
14006 + if-eqz v53, :cond_310
14008 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14014 + if-eq v1, v4, :cond_6a
14016 + const-string v1, "PrivacyPersistenceAdapter"
14018 + new-instance v4, Ljava/lang/StringBuilder;
14020 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14022 + const-string v5, "Multiple privacy settings found for package "
14024 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14026 + move-result-object v4
14028 + move-object/from16 v0, p1
14030 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14032 + move-result-object v4
14034 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14036 + move-result-object v4
14038 + invoke-static {v1, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
14041 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToFirst()Z
14045 + if-eqz v1, :cond_310
14047 + new-instance v3, Landroid/privacy/PrivacySettings;
14051 + move-object/from16 v0, v53
14053 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14057 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14059 + move-result-object v4
14063 + move-object/from16 v0, v53
14065 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14067 + move-result-object v5
14071 + move-object/from16 v0, v53
14073 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14079 + move-object/from16 v0, v53
14081 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14085 + int-to-byte v7, v1
14089 + move-object/from16 v0, v53
14091 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14093 + move-result-object v8
14097 + move-object/from16 v0, v53
14099 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14103 + int-to-byte v9, v1
14107 + move-object/from16 v0, v53
14109 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14111 + move-result-object v10
14115 + move-object/from16 v0, v53
14117 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14121 + int-to-byte v11, v1
14125 + move-object/from16 v0, v53
14127 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14129 + move-result-object v12
14133 + move-object/from16 v0, v53
14135 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14137 + move-result-object v13
14141 + move-object/from16 v0, v53
14143 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14147 + int-to-byte v14, v1
14151 + move-object/from16 v0, v53
14153 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14155 + move-result-object v15
14159 + move-object/from16 v0, v53
14161 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14163 + move-result-object v16
14167 + move-object/from16 v0, v53
14169 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14173 + int-to-byte v0, v1
14175 + move/from16 v17, v0
14179 + move-object/from16 v0, v53
14181 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14185 + int-to-byte v0, v1
14187 + move/from16 v18, v0
14191 + move-object/from16 v0, v53
14193 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14197 + int-to-byte v0, v1
14199 + move/from16 v19, v0
14201 + const/16 v1, 0x10
14203 + move-object/from16 v0, v53
14205 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14207 + move-result-object v20
14209 + const/16 v1, 0x11
14211 + move-object/from16 v0, v53
14213 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14217 + int-to-byte v0, v1
14219 + move/from16 v21, v0
14221 + const/16 v1, 0x12
14223 + move-object/from16 v0, v53
14225 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14227 + move-result-object v22
14229 + const/16 v1, 0x13
14231 + move-object/from16 v0, v53
14233 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14237 + int-to-byte v0, v1
14239 + move/from16 v23, v0
14241 + const/16 v1, 0x14
14243 + move-object/from16 v0, v53
14245 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14249 + int-to-byte v0, v1
14251 + move/from16 v24, v0
14253 + const/16 v1, 0x15
14255 + move-object/from16 v0, v53
14257 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14261 + int-to-byte v0, v1
14263 + move/from16 v25, v0
14265 + const/16 v1, 0x16
14267 + move-object/from16 v0, v53
14269 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14273 + int-to-byte v0, v1
14275 + move/from16 v26, v0
14277 + const/16 v1, 0x17
14279 + move-object/from16 v0, v53
14281 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14285 + int-to-byte v0, v1
14287 + move/from16 v27, v0
14289 + const/16 v1, 0x18
14291 + move-object/from16 v0, v53
14293 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14297 + int-to-byte v0, v1
14299 + move/from16 v28, v0
14301 + const/16 v1, 0x19
14303 + move-object/from16 v0, v53
14305 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14309 + int-to-byte v0, v1
14311 + move/from16 v29, v0
14313 + const/16 v1, 0x1a
14315 + move-object/from16 v0, v53
14317 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14321 + int-to-byte v0, v1
14323 + move/from16 v30, v0
14325 + const/16 v1, 0x1b
14327 + move-object/from16 v0, v53
14329 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14333 + int-to-byte v0, v1
14335 + move/from16 v31, v0
14337 + const/16 v1, 0x1c
14339 + move-object/from16 v0, v53
14341 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14345 + int-to-byte v0, v1
14347 + move/from16 v32, v0
14349 + const/16 v1, 0x1d
14351 + move-object/from16 v0, v53
14353 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14357 + int-to-byte v0, v1
14359 + move/from16 v33, v0
14361 + const/16 v1, 0x1e
14363 + move-object/from16 v0, v53
14365 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14369 + int-to-byte v0, v1
14371 + move/from16 v34, v0
14373 + const/16 v1, 0x1f
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 v35, v0
14385 + const/16 v1, 0x20
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 v36, v0
14397 + const/16 v1, 0x21
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 v37, v0
14409 + const/16 v1, 0x22
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 v38, v0
14421 + const/16 v39, 0x0
14423 + const/16 v1, 0x23
14425 + move-object/from16 v0, v53
14427 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14431 + int-to-byte v0, v1
14433 + move/from16 v40, v0
14435 + const/16 v1, 0x24
14437 + move-object/from16 v0, v53
14439 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14443 + int-to-byte v0, v1
14445 + move/from16 v41, v0
14447 + const/16 v1, 0x25
14449 + move-object/from16 v0, v53
14451 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14455 + int-to-byte v0, v1
14457 + move/from16 v42, v0
14459 + const/16 v1, 0x26
14461 + move-object/from16 v0, v53
14463 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14467 + int-to-byte v0, v1
14469 + move/from16 v43, v0
14471 + const/16 v1, 0x27
14473 + move-object/from16 v0, v53
14475 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14479 + int-to-byte v0, v1
14481 + move/from16 v44, v0
14483 + const/16 v1, 0x28
14485 + move-object/from16 v0, v53
14487 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14491 + int-to-byte v0, v1
14493 + move/from16 v45, v0
14495 + const/16 v1, 0x29
14497 + move-object/from16 v0, v53
14499 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14501 + move-result-object v46
14503 + const/16 v1, 0x2a
14505 + move-object/from16 v0, v53
14507 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14511 + int-to-byte v0, v1
14513 + move/from16 v47, v0
14515 + const/16 v1, 0x2b
14517 + move-object/from16 v0, v53
14519 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14523 + int-to-byte v0, v1
14525 + move/from16 v48, v0
14527 + const/16 v1, 0x2c
14529 + move-object/from16 v0, v53
14531 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14535 + int-to-byte v0, v1
14537 + move/from16 v49, v0
14539 + const/16 v1, 0x2d
14541 + move-object/from16 v0, v53
14543 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14547 + int-to-byte v0, v1
14549 + move/from16 v50, v0
14551 + const/16 v1, 0x2e
14553 + move-object/from16 v0, v53
14555 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14559 + int-to-byte v0, v1
14561 + move/from16 v51, v0
14563 + 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
14565 + .catchall {:try_start_2f .. :try_end_24c} :catchall_2f5
14566 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_24c} :catch_30c
14569 + const-string v6, "allowed_contacts"
14573 + new-array v7, v1, [Ljava/lang/String;
14577 + const-string v4, "contact_id"
14579 + aput-object v4, v7, v1
14581 + const-string/jumbo v8, "settings_id=?"
14585 + new-array v9, v1, [Ljava/lang/String;
14589 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
14591 + move-result-object v4
14593 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14597 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
14599 + move-result-object v4
14601 + aput-object v4, v9, v1
14611 + move-object/from16 v4, p0
14613 + move-object v5, v2
14615 + 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;
14617 + move-result-object v53
14619 + if-eqz v53, :cond_2e3
14621 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14625 + if-lez v1, :cond_2e3
14627 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14631 + new-array v0, v1, [I
14633 + move-object/from16 v52, v0
14636 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToNext()Z
14640 + if-eqz v1, :cond_2de
14642 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getPosition()I
14648 + move-object/from16 v0, v53
14650 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
14656 + .catchall {:try_start_24c .. :try_end_299} :catchall_30a
14657 + .catch Ljava/lang/Exception; {:try_start_24c .. :try_end_299} :catch_29a
14662 + move-exception v54
14666 + const-string v1, "PrivacyPersistenceAdapter"
14668 + new-instance v4, Ljava/lang/StringBuilder;
14670 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14672 + const-string v5, "getSettings - failed to get settings for package: "
14674 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14676 + move-result-object v4
14678 + move-object/from16 v0, p1
14680 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14682 + move-result-object v4
14684 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14686 + move-result-object v4
14688 + move-object/from16 v0, v54
14690 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14692 + .catchall {:try_start_29b .. :try_end_2b7} :catchall_30a
14694 + if-eqz v53, :cond_2bc
14696 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14699 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14701 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14703 + move-result-object v1
14705 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14707 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14710 + move-object/from16 v55, v3
14713 + return-object v55
14716 + move-exception v1
14721 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
14726 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2cd .. :try_end_2ce} :catch_2ce
14729 + move-exception v54
14731 + const-string v1, "PrivacyPersistenceAdapter"
14733 + const-string v4, "getSettings - database could not be opened"
14735 + move-object/from16 v0, v54
14737 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14739 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14741 + move-object/from16 v3, v55
14747 + move-object/from16 v0, v52
14749 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
14751 + .catchall {:try_start_2de .. :try_end_2e3} :catchall_30a
14752 + .catch Ljava/lang/Exception; {:try_start_2de .. :try_end_2e3} :catch_29a
14756 + if-eqz v53, :cond_2e8
14758 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14761 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14763 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14765 + move-result-object v1
14767 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14769 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14774 + move-exception v1
14776 + move-object/from16 v3, v55
14779 + if-eqz v53, :cond_2fd
14781 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14784 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14786 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14788 + move-result-object v4
14790 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
14792 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14797 + move-exception v1
14802 + move-exception v54
14804 + move-object/from16 v3, v55
14809 + move-object/from16 v3, v55
14814 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
14822 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14826 + .catchall {:try_start_2 .. :try_end_5} :catchall_41
14829 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14831 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14833 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
14837 + add-int/lit8 v3, v3, 0x1
14839 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14841 + move-result-object v3
14843 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14847 + .catchall {:try_start_5 .. :try_end_16} :catchall_3e
14850 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
14852 + move-result-object v1
14854 + if-eqz v1, :cond_22
14856 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
14860 + if-nez v2, :cond_46
14863 + const-string v2, "PrivacyPersistenceAdapter"
14865 + new-instance v3, Ljava/lang/StringBuilder;
14867 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14869 + const-string v4, "PrivacyPersistenceAdapter:getValue: Database not obtained while getting value for name: "
14871 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14873 + move-result-object v3
14875 + invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14877 + move-result-object v3
14879 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14881 + move-result-object v3
14883 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14885 + .catchall {:try_start_16 .. :try_end_3a} :catchall_41
14887 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14893 + move-exception v0
14898 + .catchall {:try_start_3f .. :try_end_40} :catchall_3e
14903 + .catchall {:try_start_40 .. :try_end_41} :catchall_41
14906 + move-exception v0
14908 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14914 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14916 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14918 + move-result-object v0
14920 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
14922 + .catchall {:try_start_46 .. :try_end_4f} :catchall_41
14925 + const-string/jumbo v2, "map"
14929 + new-array v3, v0, [Ljava/lang/String;
14933 + const-string/jumbo v4, "value"
14935 + aput-object v4, v3, v0
14937 + const-string/jumbo v4, "name=?"
14941 + new-array v5, v0, [Ljava/lang/String;
14945 + aput-object p1, v5, v0
14955 + move-object v0, p0
14957 + 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;
14959 + move-result-object v10
14961 + if-eqz v10, :cond_97
14963 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
14967 + if-lez v0, :cond_97
14969 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
14973 + if-eqz v0, :cond_97
14975 + const-string/jumbo v0, "value"
14977 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
14981 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14983 + move-result-object v12
14985 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
14987 + .catchall {:try_start_4f .. :try_end_89} :catchall_d3
14988 + .catch Ljava/lang/Exception; {:try_start_4f .. :try_end_89} :catch_b0
14992 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14994 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14996 + move-result-object v0
14998 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15000 + .catchall {:try_start_89 .. :try_end_92} :catchall_41
15003 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15005 + move-object v0, v12
15011 + const-string v0, "PrivacyPersistenceAdapter"
15013 + new-instance v2, Ljava/lang/StringBuilder;
15015 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15017 + const-string v3, "PrivacyPersistenceAdapter:getValue: Could not get value for name: "
15019 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15021 + move-result-object v2
15023 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15025 + move-result-object v2
15027 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15029 + move-result-object v2
15031 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
15033 + .catchall {:try_start_97 .. :try_end_af} :catchall_d3
15034 + .catch Ljava/lang/Exception; {:try_start_97 .. :try_end_af} :catch_b0
15039 + move-exception v11
15042 + const-string v0, "PrivacyPersistenceAdapter"
15044 + new-instance v2, Ljava/lang/StringBuilder;
15046 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15048 + const-string v3, "PrivacyPersistenceAdapter:getValue: Exception occurred while getting value for name: "
15050 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15052 + move-result-object v2
15054 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15056 + move-result-object v2
15058 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15060 + move-result-object v2
15062 + invoke-static {v0, v2, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15064 + .catchall {:try_start_b1 .. :try_end_c9} :catchall_d3
15067 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15069 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15071 + move-result-object v0
15073 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15078 + move-exception v0
15080 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15082 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15084 + move-result-object v2
15086 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15090 + .catchall {:try_start_c9 .. :try_end_de} :catchall_41
15093 +.method public purgeSettings()Z
15096 + const/16 v23, 0x1
15098 + new-instance v13, Ljava/util/HashSet;
15100 + invoke-direct {v13}, Ljava/util/HashSet;-><init>()V
15102 + move-object/from16 v0, p0
15104 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
15106 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
15108 + move-result-object v20
15112 + move-object/from16 v0, v20
15114 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
15116 + move-result-object v18
15118 + invoke-interface/range {v18 .. v18}, Ljava/util/List;->iterator()Ljava/util/Iterator;
15120 + move-result-object v17
15123 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
15127 + if-eqz v2, :cond_2c
15129 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
15131 + move-result-object v12
15133 + check-cast v12, Landroid/content/pm/ApplicationInfo;
15135 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15137 + invoke-interface {v13, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
15145 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15149 + .catchall {:try_start_2d .. :try_end_30} :catchall_11b
15150 + .catch Ljava/lang/Exception; {:try_start_2d .. :try_end_30} :catch_56
15153 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15155 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15157 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
15161 + add-int/lit8 v2, v2, 0x1
15163 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15165 + move-result-object v2
15167 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15171 + .catchall {:try_start_30 .. :try_end_41} :catchall_53
15174 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
15176 + move-result-object v3
15178 + if-nez v3, :cond_68
15180 + const-string v2, "PrivacyPersistenceAdapter"
15182 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings: db could not be obtained"
15184 + invoke-static {v2, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15186 + .catchall {:try_start_41 .. :try_end_4e} :catchall_11b
15187 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_4e} :catch_56
15191 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15197 + move-exception v2
15202 + .catchall {:try_start_54 .. :try_end_55} :catchall_53
15207 + .catchall {:try_start_55 .. :try_end_56} :catchall_11b
15208 + .catch Ljava/lang/Exception; {:try_start_55 .. :try_end_56} :catch_56
15211 + move-exception v16
15214 + const-string v2, "PrivacyPersistenceAdapter"
15216 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings - purging DB failed"
15218 + move-object/from16 v0, v16
15220 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15222 + .catchall {:try_start_57 .. :try_end_60} :catchall_11b
15224 + const/16 v23, 0x0
15226 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15229 + move/from16 v2, v23
15235 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15237 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15239 + move-result-object v2
15241 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->lock()V
15243 + .catchall {:try_start_68 .. :try_end_71} :catchall_11b
15244 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_71} :catch_56
15249 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
15251 + .catchall {:try_start_72 .. :try_end_75} :catchall_110
15254 + const-string/jumbo v4, "settings"
15258 + new-array v5, v2, [Ljava/lang/String;
15262 + const-string/jumbo v6, "packageName"
15264 + aput-object v6, v5, v2
15278 + move-object/from16 v2, p0
15280 + 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;
15282 + move-result-object v15
15284 + if-eqz v15, :cond_bd
15286 + invoke-interface {v15}, Landroid/database/Cursor;->getCount()I
15290 + if-lez v2, :cond_bd
15292 + invoke-interface {v15}, Landroid/database/Cursor;->moveToFirst()Z
15296 + if-eqz v2, :cond_bd
15301 + invoke-interface {v15, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15303 + move-result-object v22
15305 + move-object/from16 v0, v22
15307 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15311 + if-nez v2, :cond_b7
15313 + const-string/jumbo v2, "settings"
15315 + const-string/jumbo v4, "packageName = ?"
15319 + new-array v5, v5, [Ljava/lang/String;
15323 + aput-object v22, v5, v6
15325 + invoke-virtual {v3, v2, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
15328 + invoke-interface {v15}, Landroid/database/Cursor;->moveToNext()Z
15332 + if-nez v2, :cond_9b
15335 + new-instance v24, Ljava/io/File;
15337 + const-string v2, "/data/system/privacy"
15339 + move-object/from16 v0, v24
15341 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
15343 + invoke-virtual/range {v24 .. v24}, Ljava/io/File;->listFiles()[Ljava/io/File;
15345 + move-result-object v14
15347 + array-length v0, v14
15349 + move/from16 v19, v0
15351 + const/16 v17, 0x0
15354 + move/from16 v0, v17
15356 + move/from16 v1, v19
15358 + if-ge v0, v1, :cond_ed
15360 + aget-object v21, v14, v17
15362 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->getName()Ljava/lang/String;
15364 + move-result-object v22
15366 + move-object/from16 v0, v22
15368 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15372 + if-nez v2, :cond_ea
15374 + move-object/from16 v0, p0
15376 + move-object/from16 v1, v21
15378 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
15381 + add-int/lit8 v17, v17, 0x1
15386 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
15388 + .catchall {:try_start_75 .. :try_end_f0} :catchall_106
15390 + if-eqz v15, :cond_f5
15393 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
15396 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
15398 + .catchall {:try_start_f2 .. :try_end_f8} :catchall_110
15401 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15403 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15405 + move-result-object v2
15407 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15409 + .catchall {:try_start_f8 .. :try_end_101} :catchall_11b
15410 + .catch Ljava/lang/Exception; {:try_start_f8 .. :try_end_101} :catch_56
15412 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15417 + move-exception v2
15419 + if-eqz v15, :cond_10c
15422 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
15425 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
15429 + .catchall {:try_start_109 .. :try_end_110} :catchall_110
15432 + move-exception v2
15435 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15437 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15439 + move-result-object v4
15441 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
15445 + .catchall {:try_start_111 .. :try_end_11b} :catchall_11b
15446 + .catch Ljava/lang/Exception; {:try_start_111 .. :try_end_11b} :catch_56
15449 + move-exception v2
15451 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15456 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
15459 + const/16 v19, 0x0
15461 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
15463 + move-result-object v18
15465 + if-eqz v18, :cond_e
15467 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->isEmpty()Z
15471 + if-eqz v4, :cond_18
15474 + const-string v4, "PrivacyPersistenceAdapter"
15476 + const-string/jumbo v5, "saveSettings - either package name is missing"
15478 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15486 + new-instance v22, Landroid/content/ContentValues;
15488 + invoke-direct/range {v22 .. v22}, Landroid/content/ContentValues;-><init>()V
15490 + const-string/jumbo v4, "packageName"
15492 + move-object/from16 v0, v22
15494 + move-object/from16 v1, v18
15496 + invoke-virtual {v0, v4, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15498 + const-string/jumbo v4, "uid"
15502 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15504 + move-result-object v5
15506 + move-object/from16 v0, v22
15508 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
15510 + const-string v4, "deviceIdSetting"
15512 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
15516 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15518 + move-result-object v5
15520 + move-object/from16 v0, v22
15522 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15524 + const-string v4, "deviceId"
15526 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
15528 + move-result-object v5
15530 + move-object/from16 v0, v22
15532 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15534 + const-string v4, "line1NumberSetting"
15536 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
15540 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15542 + move-result-object v5
15544 + move-object/from16 v0, v22
15546 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15548 + const-string v4, "line1Number"
15550 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
15552 + move-result-object v5
15554 + move-object/from16 v0, v22
15556 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15558 + const-string v4, "locationGpsSetting"
15560 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15564 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15566 + move-result-object v5
15568 + move-object/from16 v0, v22
15570 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15572 + const-string v4, "locationGpsLat"
15574 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15576 + move-result-object v5
15578 + move-object/from16 v0, v22
15580 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15582 + const-string v4, "locationGpsLon"
15584 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
15586 + move-result-object v5
15588 + move-object/from16 v0, v22
15590 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15592 + const-string v4, "locationNetworkSetting"
15594 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15598 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15600 + move-result-object v5
15602 + move-object/from16 v0, v22
15604 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15606 + const-string v4, "locationNetworkLat"
15608 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
15610 + move-result-object v5
15612 + move-object/from16 v0, v22
15614 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15616 + const-string v4, "locationNetworkLon"
15618 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
15620 + move-result-object v5
15622 + move-object/from16 v0, v22
15624 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15626 + const-string/jumbo v4, "networkInfoSetting"
15628 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
15632 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15634 + move-result-object v5
15636 + move-object/from16 v0, v22
15638 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15640 + const-string/jumbo v4, "simInfoSetting"
15642 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15646 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
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/Byte;)V
15654 + const-string/jumbo v4, "simSerialNumberSetting"
15656 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()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/jumbo v4, "simSerialNumber"
15670 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()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/jumbo v4, "subscriberIdSetting"
15680 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()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/jumbo v4, "subscriberId"
15694 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()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, "accountsSetting"
15704 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()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, "accountsAuthTokensSetting"
15718 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
15722 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15724 + move-result-object v5
15726 + move-object/from16 v0, v22
15728 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15730 + const-string/jumbo v4, "outgoingCallsSetting"
15732 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
15736 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15738 + move-result-object v5
15740 + move-object/from16 v0, v22
15742 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15744 + const-string v4, "incomingCallsSetting"
15746 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
15750 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15752 + move-result-object v5
15754 + move-object/from16 v0, v22
15756 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15758 + const-string v4, "contactsSetting"
15760 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
15764 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15766 + move-result-object v5
15768 + move-object/from16 v0, v22
15770 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15772 + const-string v4, "calendarSetting"
15774 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
15778 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15780 + move-result-object v5
15782 + move-object/from16 v0, v22
15784 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15786 + const-string/jumbo v4, "mmsSetting"
15788 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
15792 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15794 + move-result-object v5
15796 + move-object/from16 v0, v22
15798 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15800 + const-string/jumbo v4, "smsSetting"
15802 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
15806 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15808 + move-result-object v5
15810 + move-object/from16 v0, v22
15812 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15814 + const-string v4, "callLogSetting"
15816 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
15820 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15822 + move-result-object v5
15824 + move-object/from16 v0, v22
15826 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15828 + const-string v4, "bookmarksSetting"
15830 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
15834 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15836 + move-result-object v5
15838 + move-object/from16 v0, v22
15840 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15842 + const-string/jumbo v4, "systemLogsSetting"
15844 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
15848 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15850 + move-result-object v5
15852 + move-object/from16 v0, v22
15854 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15856 + const-string/jumbo v4, "notificationSetting"
15858 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
15862 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15864 + move-result-object v5
15866 + move-object/from16 v0, v22
15868 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15870 + const-string v4, "intentBootCompletedSetting"
15872 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
15876 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15878 + move-result-object v5
15880 + move-object/from16 v0, v22
15882 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15884 + const-string v4, "cameraSetting"
15886 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
15890 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15892 + move-result-object v5
15894 + move-object/from16 v0, v22
15896 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15898 + const-string/jumbo v4, "recordAudioSetting"
15900 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
15904 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15906 + move-result-object v5
15908 + move-object/from16 v0, v22
15910 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15912 + const-string/jumbo v4, "smsSendSetting"
15914 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
15918 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15920 + move-result-object v5
15922 + move-object/from16 v0, v22
15924 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15926 + const-string/jumbo v4, "phoneCallSetting"
15928 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
15932 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15934 + move-result-object v5
15936 + move-object/from16 v0, v22
15938 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15940 + const-string v4, "ipTableProtectSetting"
15942 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
15946 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15948 + move-result-object v5
15950 + move-object/from16 v0, v22
15952 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15954 + const-string v4, "iccAccessSetting"
15956 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
15960 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15962 + move-result-object v5
15964 + move-object/from16 v0, v22
15966 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15968 + const-string v4, "addOnManagementSetting"
15970 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAddOnManagementSetting()B
15974 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15976 + move-result-object v5
15978 + move-object/from16 v0, v22
15980 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15982 + const-string v4, "androidIdSetting"
15984 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
15988 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15990 + move-result-object v5
15992 + move-object/from16 v0, v22
15994 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15996 + const-string v4, "androidId"
15998 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
16000 + move-result-object v5
16002 + move-object/from16 v0, v22
16004 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16006 + const-string/jumbo v4, "wifiInfoSetting"
16008 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
16012 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16014 + move-result-object v5
16016 + move-object/from16 v0, v22
16018 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16020 + const-string/jumbo v4, "switchConnectivitySetting"
16022 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
16026 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16028 + move-result-object v5
16030 + move-object/from16 v0, v22
16032 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16034 + const-string/jumbo v4, "sendMmsSetting"
16036 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSendMmsSetting()B
16040 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16042 + move-result-object v5
16044 + move-object/from16 v0, v22
16046 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16048 + const-string v4, "forceOnlineState"
16050 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
16054 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16056 + move-result-object v5
16058 + move-object/from16 v0, v22
16060 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16062 + const-string/jumbo v4, "switchWifiStateSetting"
16064 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
16068 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16070 + move-result-object v5
16072 + move-object/from16 v0, v22
16074 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16081 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16085 + .catchall {:try_start_2a9 .. :try_end_2ac} :catchall_33c
16086 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2ac} :catch_311
16089 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16091 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16093 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
16097 + add-int/lit8 v4, v4, 0x1
16099 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16101 + move-result-object v4
16103 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16107 + .catchall {:try_start_2ac .. :try_end_2bd} :catchall_339
16110 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16112 + move-result-object v3
16114 + if-eqz v3, :cond_4f2
16116 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16120 + if-eqz v4, :cond_4f2
16122 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16124 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16126 + move-result-object v4
16128 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
16130 + .catchall {:try_start_2bd .. :try_end_2d2} :catchall_33c
16131 + .catch Ljava/lang/Exception; {:try_start_2bd .. :try_end_2d2} :catch_311
16134 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
16136 + .catchall {:try_start_2d2 .. :try_end_2d5} :catchall_306
16139 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
16141 + move-result-object v16
16143 + if-eqz v16, :cond_38d
16145 + const-string/jumbo v4, "settings"
16147 + const-string v5, "_id=?"
16151 + new-array v6, v6, [Ljava/lang/String;
16155 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16157 + move-result-object v8
16159 + aput-object v8, v6, v7
16161 + move-object/from16 v0, v22
16163 + 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
16169 + if-ge v4, v5, :cond_341
16171 + new-instance v4, Ljava/lang/Exception;
16173 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16175 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16179 + .catchall {:try_start_2d5 .. :try_end_2fc} :catchall_2fc
16182 + move-exception v4
16185 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16187 + if-eqz v13, :cond_305
16189 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16194 + .catchall {:try_start_2fd .. :try_end_306} :catchall_306
16197 + move-exception v4
16200 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16202 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16204 + move-result-object v5
16206 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
16210 + .catchall {:try_start_307 .. :try_end_311} :catchall_33c
16211 + .catch Ljava/lang/Exception; {:try_start_307 .. :try_end_311} :catch_311
16214 + move-exception v14
16217 + const-string v4, "PrivacyPersistenceAdapter"
16219 + new-instance v5, Ljava/lang/StringBuilder;
16221 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16223 + const-string v6, "PrivacyPersistenceAdapter:saveSettings: saving for "
16225 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16227 + move-result-object v5
16229 + move-object/from16 v0, v18
16231 + invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16233 + move-result-object v5
16235 + const-string v6, " failed"
16237 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16239 + move-result-object v5
16241 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16243 + move-result-object v5
16245 + invoke-static {v4, v5, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16247 + .catchall {:try_start_312 .. :try_end_332} :catchall_33c
16249 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16252 + move/from16 v4, v19
16257 + move-exception v4
16262 + .catchall {:try_start_33a .. :try_end_33b} :catchall_339
16267 + .catchall {:try_start_33b .. :try_end_33c} :catchall_33c
16268 + .catch Ljava/lang/Exception; {:try_start_33b .. :try_end_33c} :catch_311
16271 + move-exception v4
16273 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16279 + const-string v4, "allowed_contacts"
16281 + const-string/jumbo v5, "settings_id=?"
16285 + new-array v6, v6, [Ljava/lang/String;
16289 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16291 + move-result-object v8
16293 + aput-object v8, v6, v7
16295 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16297 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16299 + move-result-object v11
16301 + if-eqz v11, :cond_4af
16303 + new-instance v12, Landroid/content/ContentValues;
16305 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16310 + array-length v4, v11
16312 + if-ge v15, v4, :cond_4af
16314 + const-string/jumbo v4, "settings_id"
16316 + move-object/from16 v0, v16
16318 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16320 + const-string v4, "contact_id"
16322 + aget v5, v11, v15
16324 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16326 + move-result-object v5
16328 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16330 + const-string v4, "allowed_contacts"
16334 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16336 + move-result-wide v4
16338 + const-wide/16 v6, -0x1
16340 + cmp-long v4, v4, v6
16342 + if-nez v4, :cond_38a
16344 + new-instance v4, Ljava/lang/Exception;
16346 + const-string v5, "PrivacyPersistenceAdapter:saveSettings: failed to update database entry (contacts)"
16348 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16353 + add-int/lit8 v15, v15, 0x1
16358 + const-string/jumbo v4, "settings"
16362 + new-array v5, v5, [Ljava/lang/String;
16366 + const-string v7, "_id"
16368 + aput-object v7, v5, v6
16370 + const-string/jumbo v6, "packageName=?"
16374 + new-array v7, v7, [Ljava/lang/String;
16378 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16380 + move-result-object v9
16382 + aput-object v9, v7, v8
16390 + 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;
16392 + move-result-object v13
16394 + if-eqz v13, :cond_4a7
16396 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
16402 + if-ne v4, v5, :cond_433
16404 + const-string/jumbo v4, "settings"
16406 + const-string/jumbo v5, "packageName=?"
16410 + new-array v6, v6, [Ljava/lang/String;
16414 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16416 + move-result-object v8
16418 + aput-object v8, v6, v7
16420 + move-object/from16 v0, v22
16422 + 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
16428 + if-ge v4, v5, :cond_3d7
16430 + new-instance v4, Ljava/lang/Exception;
16432 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16434 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16439 + invoke-interface {v13}, Landroid/database/Cursor;->moveToFirst()Z
16443 + if-eqz v4, :cond_4af
16447 + invoke-interface {v13, v4}, Landroid/database/Cursor;->getInt(I)I
16451 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16453 + move-result-object v17
16455 + const-string v4, "allowed_contacts"
16457 + const-string/jumbo v5, "settings_id=?"
16461 + new-array v6, v6, [Ljava/lang/String;
16465 + invoke-virtual/range {v17 .. v17}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16467 + move-result-object v8
16469 + aput-object v8, v6, v7
16471 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16473 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16475 + move-result-object v11
16477 + if-eqz v11, :cond_4af
16479 + new-instance v12, Landroid/content/ContentValues;
16481 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16486 + array-length v4, v11
16488 + if-ge v15, v4, :cond_4af
16490 + const-string/jumbo v4, "settings_id"
16492 + move-object/from16 v0, v17
16494 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16496 + const-string v4, "contact_id"
16498 + aget v5, v11, v15
16500 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16502 + move-result-object v5
16504 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16506 + const-string v4, "allowed_contacts"
16510 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16512 + move-result-wide v4
16514 + const-wide/16 v6, -0x1
16516 + cmp-long v4, v4, v6
16518 + if-nez v4, :cond_430
16520 + new-instance v4, Ljava/lang/Exception;
16522 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
16524 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16529 + add-int/lit8 v15, v15, 0x1
16534 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
16538 + if-nez v4, :cond_49f
16540 + const-string/jumbo v4, "settings"
16544 + move-object/from16 v0, v22
16546 + invoke-virtual {v3, v4, v5, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16548 + move-result-wide v20
16550 + const-wide/16 v4, -0x1
16552 + cmp-long v4, v20, v4
16554 + if-nez v4, :cond_451
16556 + new-instance v4, Ljava/lang/Exception;
16558 + const-string v5, "PrivacyPersistenceAdapter:saveSettings - failed to insert new record into DB"
16560 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16565 + const-string v4, "allowed_contacts"
16567 + const-string/jumbo v5, "settings_id=?"
16571 + new-array v6, v6, [Ljava/lang/String;
16575 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
16577 + move-result-object v8
16579 + aput-object v8, v6, v7
16581 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16583 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16585 + move-result-object v11
16587 + if-eqz v11, :cond_4af
16589 + new-instance v12, Landroid/content/ContentValues;
16591 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16596 + array-length v4, v11
16598 + if-ge v15, v4, :cond_4af
16600 + const-string/jumbo v4, "settings_id"
16602 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16604 + move-result-object v5
16606 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
16608 + const-string v4, "contact_id"
16610 + aget v5, v11, v15
16612 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16614 + move-result-object v5
16616 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16618 + const-string v4, "allowed_contacts"
16622 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16624 + move-result-wide v4
16626 + const-wide/16 v6, -0x1
16628 + cmp-long v4, v4, v6
16630 + if-nez v4, :cond_49c
16632 + new-instance v4, Ljava/lang/Exception;
16634 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to update database entry (contacts)"
16636 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16641 + add-int/lit8 v15, v15, 0x1
16646 + new-instance v4, Ljava/lang/Exception;
16648 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:duplicate entries in the privacy.db"
16650 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16655 + new-instance v4, Ljava/lang/Exception;
16657 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:cursor is null, database access failed"
16659 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16664 + const-string/jumbo v4, "systemLogsSetting"
16666 + move-object/from16 v0, p0
16668 + move-object/from16 v1, v18
16670 + move-object/from16 v2, p1
16672 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
16676 + if-nez v4, :cond_4c6
16678 + new-instance v4, Ljava/lang/Exception;
16680 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write systemLogsSettings file"
16682 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16687 + const-string v4, "ipTableProtectSetting"
16689 + move-object/from16 v0, p0
16691 + move-object/from16 v1, v18
16693 + move-object/from16 v2, p1
16695 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
16699 + if-nez v4, :cond_4dc
16701 + new-instance v4, Ljava/lang/Exception;
16703 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write ipTableProtectSetting file"
16705 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16710 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
16712 + .catchall {:try_start_341 .. :try_end_4df} :catchall_2fc
16715 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16717 + if-eqz v13, :cond_4e7
16719 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16721 + .catchall {:try_start_4df .. :try_end_4e7} :catchall_306
16725 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16727 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16729 + move-result-object v4
16731 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
16733 + .catchall {:try_start_4e7 .. :try_end_4f0} :catchall_33c
16734 + .catch Ljava/lang/Exception; {:try_start_4e7 .. :try_end_4f0} :catch_311
16736 + const/16 v19, 0x1
16739 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16741 + goto/16 :goto_335
16744 +.method public setValue(Ljava/lang/String;Ljava/lang/String;)Z
16749 + const-string v4, "PrivacyPersistenceAdapter"
16751 + new-instance v5, Ljava/lang/StringBuilder;
16753 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16755 + const-string/jumbo v6, "setValue - name "
16757 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16759 + move-result-object v5
16761 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16763 + move-result-object v5
16765 + const-string v6, " value "
16767 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16769 + move-result-object v5
16771 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16773 + move-result-object v5
16775 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16777 + move-result-object v5
16779 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16781 + new-instance v2, Landroid/content/ContentValues;
16783 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
16785 + const-string/jumbo v4, "name"
16787 + invoke-virtual {v2, v4, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16789 + const-string/jumbo v4, "value"
16791 + invoke-virtual {v2, v4, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16796 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16800 + .catchall {:try_start_36 .. :try_end_39} :catchall_75
16803 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16805 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16807 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
16811 + add-int/lit8 v5, v5, 0x1
16813 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16815 + move-result-object v5
16817 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16821 + .catchall {:try_start_39 .. :try_end_4a} :catchall_72
16824 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16826 + move-result-object v0
16828 + if-eqz v0, :cond_56
16830 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16834 + if-nez v4, :cond_7a
16837 + const-string v4, "PrivacyPersistenceAdapter"
16839 + new-instance v5, Ljava/lang/StringBuilder;
16841 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16843 + const-string v6, "PrivacyPersistenceAdapter:setValue: Database not obtained while setting value for name: "
16845 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16847 + move-result-object v5
16849 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16851 + move-result-object v5
16853 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16855 + move-result-object v5
16857 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16859 + .catchall {:try_start_4a .. :try_end_6e} :catchall_75
16861 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16867 + move-exception v3
16872 + .catchall {:try_start_73 .. :try_end_74} :catchall_72
16877 + .catchall {:try_start_74 .. :try_end_75} :catchall_75
16880 + move-exception v3
16882 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16888 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16890 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16892 + move-result-object v4
16894 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
16896 + .catchall {:try_start_7a .. :try_end_83} :catchall_75
16899 + const-string/jumbo v4, "map"
16903 + invoke-virtual {v0, v4, v5, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16905 + .catchall {:try_start_83 .. :try_end_8a} :catchall_a2
16907 + move-result-wide v4
16909 + const-wide/16 v6, -0x1
16911 + cmp-long v4, v4, v6
16913 + if-eqz v4, :cond_a0
16919 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16921 + invoke-interface {v3}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16923 + move-result-object v3
16925 + invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
16927 + .catchall {:try_start_92 .. :try_end_9b} :catchall_75
16929 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16941 + move-exception v3
16944 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16946 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16948 + move-result-object v4
16950 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
16954 + .catchall {:try_start_a3 .. :try_end_ad} :catchall_75
16956 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali opd-framework/smali/android/privacy/PrivacySettings$1.smali
16957 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
16958 +++ opd-framework/smali/android/privacy/PrivacySettings$1.smali 2013-01-08 23:29:43.604287582 -0600
16960 +.class final Landroid/privacy/PrivacySettings$1;
16961 +.super Ljava/lang/Object;
16962 +.source "PrivacySettings.java"
16965 +.implements Landroid/os/Parcelable$Creator;
16969 +.annotation system Ldalvik/annotation/EnclosingClass;
16970 + value = Landroid/privacy/PrivacySettings;
16973 +.annotation system Ldalvik/annotation/InnerClass;
16974 + accessFlags = 0x8
16978 +.annotation system Ldalvik/annotation/Signature;
16980 + "Ljava/lang/Object;",
16981 + "Landroid/os/Parcelable$Creator",
16983 + "Landroid/privacy/PrivacySettings;",
16990 +.method constructor <init>()V
16993 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17000 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
17003 + new-instance v0, Landroid/privacy/PrivacySettings;
17005 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
17010 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
17013 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
17015 + move-result-object v0
17020 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
17023 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
17028 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
17031 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
17033 + move-result-object v0
17037 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali opd-framework/smali/android/privacy/PrivacySettingsManagerService.smali
17038 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
17039 +++ opd-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2013-01-08 23:29:43.608287601 -0600
17041 +.class public final Landroid/privacy/PrivacySettingsManagerService;
17042 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
17043 +.source "PrivacySettingsManagerService.java"
17047 +.field private static final READ_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.READ_PRIVACY_SETTINGS"
17049 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
17051 +.field private static final VERSION:D = 1.51
17053 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
17055 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
17059 +.field private bootCompleted:Z
17061 +.field private context:Landroid/content/Context;
17063 +.field private enabled:Z
17065 +.field private notificationsEnabled:Z
17067 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17071 +.method public constructor <init>(Landroid/content/Context;)V
17074 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
17076 + const-string v0, "PrivacySettingsManagerService"
17078 + new-instance v1, Ljava/lang/StringBuilder;
17080 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17082 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
17084 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17086 + move-result-object v1
17088 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17090 + move-result-object v2
17092 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17094 + move-result-object v1
17096 + const-string v2, " UID: "
17098 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17100 + move-result-object v1
17102 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17106 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17108 + move-result-object v1
17110 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17112 + move-result-object v1
17114 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17116 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17118 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
17120 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
17122 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17124 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17126 + const-string v1, "/data/system/privacy"
17128 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17130 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17132 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17134 + const-string v1, "enabled"
17136 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17138 + move-result-object v0
17140 + const-string v1, "1"
17142 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17146 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17148 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17150 + const-string/jumbo v1, "notifications_enabled"
17152 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17154 + move-result-object v0
17156 + const-string v1, "1"
17158 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17162 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17166 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17171 +.method private checkCallerCanReadOrThrow()V
17174 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17178 + const/16 v1, 0x3e8
17180 + if-ne v0, v1, :cond_9
17186 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17188 + const-string v1, "android.privacy.READ_PRIVACY_SETTINGS"
17190 + const-string v2, "Requires READ_PRIVACY_SETTINGS"
17192 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17197 +.method private checkCallerCanReadSettings()Z
17201 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanReadOrThrow()V
17203 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17211 + move-exception v0
17218 +.method private checkCallerCanWriteOrThrow()V
17220 + .annotation system Ldalvik/annotation/Throws;
17222 + Landroid/os/RemoteException;
17226 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17228 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
17230 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
17232 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17237 +.method private checkCallerCanWriteSettings()Z
17239 + .annotation system Ldalvik/annotation/Throws;
17241 + Landroid/os/RemoteException;
17246 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17248 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17256 + move-exception v0
17265 +.method public addObserver(Ljava/lang/String;)V
17267 + .annotation system Ldalvik/annotation/Throws;
17269 + Landroid/os/RemoteException;
17273 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17275 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17277 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17282 +.method public deleteSettings(Ljava/lang/String;)Z
17284 + .annotation system Ldalvik/annotation/Throws;
17286 + Landroid/os/RemoteException;
17292 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17296 + const/16 v3, 0x3e8
17298 + if-eq v2, v3, :cond_c
17300 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17303 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17305 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
17309 + new-instance v2, Ljava/lang/StringBuilder;
17311 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17313 + const-string v3, "/data/system/privacy/"
17315 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17317 + move-result-object v2
17319 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17321 + move-result-object v2
17323 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17325 + move-result-object v0
17327 + new-instance v2, Ljava/io/File;
17329 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
17331 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
17335 + if-eqz v2, :cond_38
17337 + if-ne v1, v4, :cond_38
17339 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17341 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17348 + if-ne v1, v4, :cond_37
17350 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17352 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
17354 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
17359 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17362 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17364 + if-nez v0, :cond_2e
17366 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17368 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17370 + move-result-object v0
17372 + const-string v1, "com.privacy.pdroid"
17374 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17378 + if-nez v0, :cond_2e
17380 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17382 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17384 + move-result-object v0
17386 + const-string v1, "com.privacy.pdroid.Addon"
17388 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17392 + if-nez v0, :cond_2e
17394 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17396 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17398 + move-result-object v0
17400 + const-string v1, "com.android.privacy.pdroid.extension"
17402 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17406 + if-eqz v0, :cond_35
17409 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17411 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17413 + move-result-object v0
17424 +.method public getVersion()D
17427 + const-wide v0, 0x3ff828f5c28f5c29L
17432 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17435 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17437 + if-eqz v1, :cond_34
17439 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17441 + if-eqz v1, :cond_34
17443 + new-instance v0, Landroid/content/Intent;
17445 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
17447 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
17449 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
17451 + const-string/jumbo v1, "packageName"
17453 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17455 + const-string/jumbo v1, "uid"
17459 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
17461 + const-string v1, "accessMode"
17463 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
17465 + const-string v1, "dataType"
17467 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17469 + const-string/jumbo v1, "output"
17471 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17473 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17475 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
17481 +.method public purgeSettings()Z
17484 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17486 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
17493 +.method public registerObservers()V
17495 + .annotation system Ldalvik/annotation/Throws;
17497 + Landroid/os/RemoteException;
17501 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17503 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17505 + const-string v1, "/data/system/privacy"
17507 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17509 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17514 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
17516 + .annotation system Ldalvik/annotation/Throws;
17518 + Landroid/os/RemoteException;
17522 + const-string v1, "PrivacySettingsManagerService"
17524 + new-instance v2, Ljava/lang/StringBuilder;
17526 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17528 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
17530 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17532 + move-result-object v2
17534 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17538 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17540 + move-result-object v2
17542 + const-string v3, ") has sufficient permissions"
17544 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17546 + move-result-object v2
17548 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17550 + move-result-object v2
17552 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17554 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17558 + const/16 v2, 0x3e8
17560 + if-eq v1, v2, :cond_2e
17562 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17565 + const-string v1, "PrivacySettingsManagerService"
17567 + new-instance v2, Ljava/lang/StringBuilder;
17569 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17571 + const-string/jumbo v3, "saveSettings - "
17573 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17575 + move-result-object v2
17577 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17579 + move-result-object v2
17581 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17583 + move-result-object v2
17585 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17587 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17589 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
17595 + if-ne v0, v1, :cond_59
17597 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17599 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
17601 + move-result-object v2
17603 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17609 +.method public setBootCompleted()V
17614 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17619 +.method public setEnabled(Z)Z
17621 + .annotation system Ldalvik/annotation/Throws;
17623 + Landroid/os/RemoteException;
17629 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17631 + if-eqz p1, :cond_15
17633 + const-string v0, "1"
17636 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17638 + const-string v3, "enabled"
17640 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
17644 + if-eqz v2, :cond_18
17646 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17652 + const-string v0, "0"
17662 +.method public setNotificationsEnabled(Z)Z
17664 + .annotation system Ldalvik/annotation/Throws;
17666 + Landroid/os/RemoteException;
17672 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17674 + if-eqz p1, :cond_18
17676 + const-string v0, "1"
17679 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17681 + const-string/jumbo v3, "notifications_enabled"
17683 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
17687 + if-eqz v2, :cond_1b
17689 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17691 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17697 + const-string v0, "0"
17706 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali opd-framework/smali/android/privacy/PrivacySettingsManager.smali
17707 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
17708 +++ opd-framework/smali/android/privacy/PrivacySettingsManager.smali 2013-01-08 23:29:43.608287601 -0600
17710 +.class public final Landroid/privacy/PrivacySettingsManager;
17711 +.super Ljava/lang/Object;
17712 +.source "PrivacySettingsManager.java"
17716 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
17718 +.field public static final ACTION_PRIVACY_NOTIFICATION_ADDON:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION_ADDON"
17720 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
17724 +.field private service:Landroid/privacy/IPrivacySettingsManager;
17728 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
17731 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17733 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17740 +.method public addObserver(Ljava/lang/String;)V
17744 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17746 + if-eqz v1, :cond_a
17748 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17750 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
17756 + const-string v1, "PrivacySettingsManager"
17758 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
17760 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17762 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
17767 + move-exception v0
17769 + const-string v1, "PrivacySettingsManager"
17771 + const-string v2, "RemoteException in addObserver: "
17773 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17778 +.method public deleteSettings(Ljava/lang/String;)Z
17784 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17786 + if-eqz v2, :cond_c
17788 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17790 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
17798 + const-string v2, "PrivacySettingsManager"
17800 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
17802 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17804 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
17809 + move-exception v0
17811 + const-string v2, "PrivacySettingsManager"
17813 + const-string v3, "RemoteException in deleteSettings: "
17815 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17820 +.method public deleteSettings(Ljava/lang/String;I)Z
17822 + .annotation runtime Ljava/lang/Deprecated;
17825 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
17832 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17838 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17840 + if-eqz v2, :cond_c
17842 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17844 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17846 + move-result-object v1
17852 + const-string v2, "PrivacySettingsManager"
17854 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
17856 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17858 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
17863 + move-exception v0
17865 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
17870 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17872 + .annotation runtime Ljava/lang/Deprecated;
17875 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17877 + move-result-object v0
17882 +.method public getVersion()D
17886 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17888 + if-eqz v1, :cond_b
17890 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17892 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
17894 + move-result-wide v1
17900 + const-string v1, "PrivacySettingsManager"
17902 + const-string v2, "getVersion - 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_12} :catch_15
17909 + const-wide/16 v1, 0x0
17914 + move-exception v0
17916 + const-string v1, "PrivacySettingsManager"
17918 + const-string v2, "RemoteException in getVersion: "
17920 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17925 +.method public isServiceAvailable()Z
17928 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17930 + if-eqz v0, :cond_6
17943 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17947 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17949 + if-eqz v1, :cond_a
17951 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17953 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17959 + const-string v1, "PrivacySettingsManager"
17961 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
17963 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17965 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
17970 + move-exception v0
17972 + const-string v1, "PrivacySettingsManager"
17974 + const-string v2, "RemoteException in notification: "
17976 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17981 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17983 + .annotation runtime Ljava/lang/Deprecated;
17986 + invoke-virtual {p0, p1, p2, p3, p4}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17991 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17993 + .annotation runtime Ljava/lang/Deprecated;
17996 + invoke-virtual {p0, p1, p3, p4, p5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
18001 +.method public purgeSettings()Z
18005 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18007 + if-eqz v1, :cond_b
18009 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18011 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
18019 + const-string v1, "PrivacySettingsManager"
18021 + const-string/jumbo v2, "purgeSettings - PrivacySettingsManagerService is null"
18023 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18025 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18033 + move-exception v0
18035 + const-string v1, "PrivacySettingsManager"
18037 + const-string v2, "RemoteException in purgeSettings: "
18039 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18044 +.method public registerObservers()V
18048 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18050 + if-eqz v1, :cond_a
18052 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18054 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
18060 + const-string v1, "PrivacySettingsManager"
18062 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
18064 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18066 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18071 + move-exception v0
18073 + const-string v1, "PrivacySettingsManager"
18075 + const-string v2, "RemoteException in registerObservers: "
18077 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18082 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
18088 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18090 + if-eqz v2, :cond_c
18092 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18094 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
18102 + const-string v2, "PrivacySettingsManager"
18104 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
18106 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18108 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
18113 + move-exception v0
18115 + const-string v2, "PrivacySettingsManager"
18117 + const-string v3, "RemoteException in saveSettings: "
18119 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18124 +.method public setBootCompleted()V
18128 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18130 + if-eqz v1, :cond_a
18132 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18134 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
18140 + const-string v1, "PrivacySettingsManager"
18142 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
18144 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18146 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
18151 + move-exception v0
18153 + const-string v1, "PrivacySettingsManager"
18155 + const-string v2, "RemoteException in setBootCompleted: "
18157 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18162 +.method public setEnabled(Z)Z
18166 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18168 + if-eqz v1, :cond_b
18170 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18172 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
18180 + const-string v1, "PrivacySettingsManager"
18182 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
18184 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18186 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18194 + move-exception v0
18196 + const-string v1, "PrivacySettingsManager"
18198 + const-string v2, "RemoteException in setEnabled: "
18200 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18205 +.method public setNotificationsEnabled(Z)Z
18209 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18211 + if-eqz v1, :cond_b
18213 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18215 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
18223 + const-string v1, "PrivacySettingsManager"
18225 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
18227 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18229 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18237 + move-exception v0
18239 + const-string v1, "PrivacySettingsManager"
18241 + const-string v2, "RemoteException in setNotificationsEnabled: "
18243 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18247 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali opd-framework/smali/android/privacy/PrivacySettings.smali
18248 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
18249 +++ opd-framework/smali/android/privacy/PrivacySettings.smali 2013-01-08 23:29:43.608287601 -0600
18251 +.class public final Landroid/privacy/PrivacySettings;
18252 +.super Ljava/lang/Object;
18253 +.source "PrivacySettings.java"
18256 +.implements Landroid/os/Parcelable;
18260 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
18261 + .annotation system Ldalvik/annotation/Signature;
18263 + "Landroid/os/Parcelable$Creator",
18265 + "Landroid/privacy/PrivacySettings;",
18271 +.field public static final CUSTOM:B = 0x2t
18273 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
18275 +.field public static final DATA_ANDROID_ID:Ljava/lang/String; = "android_id"
18277 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
18279 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
18281 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
18283 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
18285 +.field public static final DATA_CAMERA:Ljava/lang/String; = "camera"
18287 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
18289 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
18291 +.field public static final DATA_ICC_ACCESS:Ljava/lang/String; = "iccAccess"
18293 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
18295 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
18297 +.field public static final DATA_IP_TABLES:Ljava/lang/String; = "iptables"
18299 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
18301 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
18303 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
18305 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
18307 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
18309 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
18311 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
18313 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
18315 +.field public static final DATA_PHONE_CALL:Ljava/lang/String; = "phoneCall"
18317 +.field public static final DATA_RECORD_AUDIO:Ljava/lang/String; = "recordAudio"
18319 +.field public static final DATA_SEND_MMS:Ljava/lang/String; = "sendMms"
18321 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
18323 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
18325 +.field public static final DATA_SMS_SEND:Ljava/lang/String; = "SmsSend"
18327 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
18329 +.field public static final DATA_SWITCH_CONNECTIVITY:Ljava/lang/String; = "switchconnectivity"
18331 +.field public static final DATA_SWITCH_WIFI_STATE:Ljava/lang/String; = "switchWifiState"
18333 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
18335 +.field public static final DATA_WIFI_INFO:Ljava/lang/String; = "wifiInfo"
18337 +.field public static final EMPTY:B = 0x1t
18339 +.field public static final ID_PATTERN:[Ljava/lang/String; = null
18341 +.field public static final RANDOM:B = 0x3t
18343 +.field public static final REAL:B = 0x0t
18345 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
18347 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
18351 +.field private final _id:Ljava/lang/Integer;
18353 +.field private accountsAuthTokensSetting:B
18355 +.field private accountsSetting:B
18357 +.field private addOnManagementSetting:B
18359 +.field private allowedContacts:[I
18361 +.field private androidID:Ljava/lang/String;
18363 +.field private androidIdSetting:B
18365 +.field private bookmarksSetting:B
18367 +.field private calendarSetting:B
18369 +.field private callLogSetting:B
18371 +.field private cameraSetting:B
18373 +.field private contactsSetting:B
18375 +.field private deviceId:Ljava/lang/String;
18377 +.field private deviceIdSetting:B
18379 +.field private forceOnlineState:B
18381 +.field private iccAccessSetting:B
18383 +.field private incomingCallsSetting:B
18385 +.field private intentBootCompletedSetting:B
18387 +.field private ipTableProtectSetting:B
18389 +.field private line1Number:Ljava/lang/String;
18391 +.field private line1NumberSetting:B
18393 +.field private locationGpsLat:Ljava/lang/String;
18395 +.field private locationGpsLon:Ljava/lang/String;
18397 +.field private locationGpsSetting:B
18399 +.field private locationNetworkLat:Ljava/lang/String;
18401 +.field private locationNetworkLon:Ljava/lang/String;
18403 +.field private locationNetworkSetting:B
18405 +.field private mmsSetting:B
18407 +.field private networkInfoSetting:B
18409 +.field private notificationSetting:B
18411 +.field private outgoingCallsSetting:B
18413 +.field private packageName:Ljava/lang/String;
18415 +.field private phoneCallSetting:B
18417 +.field private recordAudioSetting:B
18419 +.field private sendMmsSetting:B
18421 +.field private simInfoSetting:B
18423 +.field private simSerialNumber:Ljava/lang/String;
18425 +.field private simSerialNumberSetting:B
18427 +.field private smsSendSetting:B
18429 +.field private smsSetting:B
18431 +.field private subscriberId:Ljava/lang/String;
18433 +.field private subscriberIdSetting:B
18435 +.field private switchConnectivitySetting:B
18437 +.field private switchWifiStateSetting:B
18439 +.field private systemLogsSetting:B
18441 +.field private uid:I
18443 +.field private wifiInfoSetting:B
18447 +.method static constructor <clinit>()V
18450 + const/16 v0, 0x10
18452 + new-array v0, v0, [Ljava/lang/String;
18456 + const-string v2, "0"
18458 + aput-object v2, v0, v1
18462 + const-string v2, "1"
18464 + aput-object v2, v0, v1
18468 + const-string v2, "2"
18470 + aput-object v2, v0, v1
18474 + const-string v2, "3"
18476 + aput-object v2, v0, v1
18480 + const-string v2, "4"
18482 + aput-object v2, v0, v1
18486 + const-string v2, "5"
18488 + aput-object v2, v0, v1
18492 + const-string v2, "6"
18494 + aput-object v2, v0, v1
18498 + const-string v2, "7"
18500 + aput-object v2, v0, v1
18504 + const-string v2, "8"
18506 + aput-object v2, v0, v1
18510 + const-string v2, "9"
18512 + aput-object v2, v0, v1
18516 + const-string v2, "a"
18518 + aput-object v2, v0, v1
18522 + const-string v2, "b"
18524 + aput-object v2, v0, v1
18528 + const-string v2, "c"
18530 + aput-object v2, v0, v1
18534 + const-string v2, "d"
18536 + aput-object v2, v0, v1
18540 + const-string v2, "e"
18542 + aput-object v2, v0, v1
18546 + const-string v2, "f"
18548 + aput-object v2, v0, v1
18550 + sput-object v0, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
18552 + new-instance v0, Landroid/privacy/PrivacySettings$1;
18554 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
18556 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
18561 +.method public constructor <init>(Landroid/os/Parcel;)V
18564 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18566 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
18572 + if-ne v0, v1, :cond_122
18577 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18579 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18581 + move-result-object v1
18583 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18585 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
18589 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
18591 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18595 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18597 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18599 + move-result-object v1
18601 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18603 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18607 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18609 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18611 + move-result-object v1
18613 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18615 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18619 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18621 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18623 + move-result-object v1
18625 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18627 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18629 + move-result-object v1
18631 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18633 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18637 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18639 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18641 + move-result-object v1
18643 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18645 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18647 + move-result-object v1
18649 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18651 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18655 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18657 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18661 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18663 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18667 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18669 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18671 + move-result-object v1
18673 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18675 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18679 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18681 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18683 + move-result-object v1
18685 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18687 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18691 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18693 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18697 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18699 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18703 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18705 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18709 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18711 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18715 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18717 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18721 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18723 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18727 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18729 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18733 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18735 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18739 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18741 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18745 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18747 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18751 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18753 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18757 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18759 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18763 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
18765 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18769 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
18771 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18775 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18777 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
18779 + move-result-object v1
18781 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
18783 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18787 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18789 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18793 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18795 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18799 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
18801 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18805 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
18807 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18811 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
18813 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18817 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
18819 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18821 + move-result-object v1
18823 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
18825 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18829 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18831 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18835 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18837 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18841 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18843 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18847 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
18849 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18853 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
18858 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18860 + move-result-object v1
18865 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
18874 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18876 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18878 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18880 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
18882 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18884 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18886 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18888 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18890 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18892 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18894 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18896 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18898 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18900 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18902 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18904 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18906 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18908 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18910 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18912 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18914 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18916 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18918 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18920 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18922 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18924 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18926 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18928 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18930 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18932 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18934 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18936 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18938 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
18940 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
18942 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18944 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
18946 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18948 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18950 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
18952 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
18954 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
18956 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
18958 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
18960 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18962 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18964 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18966 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
18968 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
18973 +.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
18976 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18978 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18980 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18982 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
18984 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18986 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18988 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18990 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18992 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18994 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18996 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18998 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19000 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19002 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19004 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19006 + move/from16 v0, p15
19008 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19010 + move/from16 v0, p16
19012 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19014 + move-object/from16 v0, p17
19016 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19018 + move/from16 v0, p18
19020 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19022 + move-object/from16 v0, p19
19024 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19026 + move/from16 v0, p20
19028 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19030 + move/from16 v0, p21
19032 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19034 + move/from16 v0, p22
19036 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19038 + move/from16 v0, p23
19040 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19042 + move/from16 v0, p24
19044 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19046 + move/from16 v0, p25
19048 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19050 + move/from16 v0, p26
19052 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19054 + move/from16 v0, p27
19056 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19058 + move/from16 v0, p28
19060 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19062 + move/from16 v0, p29
19064 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19066 + move/from16 v0, p30
19068 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19070 + move/from16 v0, p34
19072 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19074 + move/from16 v0, p35
19076 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19078 + move/from16 v0, p32
19080 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19082 + move/from16 v0, p33
19084 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19086 + move-object/from16 v0, p36
19088 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19090 + move/from16 v0, p37
19092 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19094 + move/from16 v0, p38
19096 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19098 + move/from16 v0, p39
19100 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19102 + move/from16 v0, p40
19104 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19106 + move/from16 v0, p41
19108 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19110 + move/from16 v0, p42
19112 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19114 + move-object/from16 v0, p43
19116 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19118 + move/from16 v0, p44
19120 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19122 + move/from16 v0, p45
19124 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19126 + move/from16 v0, p46
19128 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19130 + move/from16 v0, p47
19132 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19134 + move/from16 v0, p48
19136 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19141 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IZ)V
19152 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
19154 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19156 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19158 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19160 + if-eqz p4, :cond_68
19162 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19164 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19166 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19168 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19170 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19172 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19174 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19176 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19178 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19180 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19182 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19184 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19186 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19188 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19190 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19192 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19194 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19196 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19198 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19200 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19202 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19204 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19206 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19208 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19210 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19212 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19214 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19216 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19218 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19220 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19222 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19224 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19226 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19228 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19230 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19232 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19234 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19236 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19238 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19240 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19242 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19244 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19246 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19248 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19254 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19256 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19258 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19260 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19262 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19264 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19266 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19268 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19270 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19272 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19274 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19276 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19278 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19280 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19282 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19284 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19286 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19288 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19290 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19292 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19294 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19296 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19298 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19300 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19302 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19304 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19306 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19308 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19310 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19312 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19314 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19316 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19318 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19320 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19322 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19324 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19326 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19328 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19330 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19332 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19334 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19336 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19338 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19340 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19345 +.method private getRandomLat()Ljava/lang/String;
19348 + const-wide v7, 0x4056800000000000L
19350 + invoke-static {}, Ljava/lang/Math;->random()D
19352 + move-result-wide v3
19354 + const-wide v5, 0x4066800000000000L
19356 + mul-double v0, v3, v5
19358 + cmpl-double v3, v0, v7
19360 + if-lez v3, :cond_35
19362 + new-instance v2, Ljava/math/BigDecimal;
19364 + sub-double v3, v0, v7
19366 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19369 + new-instance v3, Ljava/lang/StringBuilder;
19371 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19377 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
19379 + move-result-object v4
19381 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19383 + move-result-object v3
19385 + const-string v4, ""
19387 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19389 + move-result-object v3
19391 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19393 + move-result-object v3
19398 + new-instance v2, Ljava/math/BigDecimal;
19400 + neg-double v3, v0
19402 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19407 +.method private getRandomLon()Ljava/lang/String;
19410 + const-wide v7, 0x4066800000000000L
19412 + invoke-static {}, Ljava/lang/Math;->random()D
19414 + move-result-wide v3
19416 + const-wide v5, 0x4076800000000000L
19418 + mul-double v0, v3, v5
19420 + cmpl-double v3, v0, v7
19422 + if-lez v3, :cond_35
19424 + new-instance v2, Ljava/math/BigDecimal;
19426 + sub-double v3, v0, v7
19428 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19431 + new-instance v3, Ljava/lang/StringBuilder;
19433 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19439 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
19441 + move-result-object v4
19443 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19445 + move-result-object v3
19447 + const-string v4, ""
19449 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19451 + move-result-object v3
19453 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19455 + move-result-object v3
19460 + new-instance v2, Ljava/math/BigDecimal;
19462 + neg-double v3, v0
19464 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19471 +.method public describeContents()I
19479 +.method public getAccountsAuthTokensSetting()B
19482 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19487 +.method public getAccountsSetting()B
19490 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19495 +.method public getAddOnManagementSetting()B
19498 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19503 +.method public getAllowedContacts()[I
19506 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19511 +.method public getAndroidID()Ljava/lang/String;
19514 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19518 + if-ne v3, v4, :cond_9
19520 + const-string/jumbo v3, "q4a5w896ay21dr46"
19526 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19530 + if-ne v3, v4, :cond_36
19532 + new-instance v2, Ljava/util/Random;
19534 + invoke-direct {v2}, Ljava/util/Random;-><init>()V
19536 + new-instance v1, Ljava/lang/StringBuilder;
19538 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
19543 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19545 + array-length v3, v3
19547 + if-ge v0, v3, :cond_31
19549 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19551 + sget-object v4, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19553 + array-length v4, v4
19555 + add-int/lit8 v4, v4, -0x1
19557 + invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
19561 + aget-object v3, v3, v4
19563 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19565 + add-int/lit8 v0, v0, 0x1
19570 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19572 + move-result-object v3
19577 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19582 +.method public getAndroidIdSetting()B
19585 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19590 +.method public getBookmarksSetting()B
19593 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19598 +.method public getCalendarSetting()B
19601 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19606 +.method public getCallLogSetting()B
19609 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19614 +.method public getCameraSetting()B
19617 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19622 +.method public getContactsSetting()B
19625 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19630 +.method public getDeviceId()Ljava/lang/String;
19637 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19641 + if-ne v3, v4, :cond_b
19643 + const-string v3, ""
19649 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19653 + if-ne v3, v4, :cond_62
19655 + new-instance v1, Ljava/util/Random;
19657 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
19659 + new-instance v3, Ljava/lang/StringBuilder;
19661 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19663 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
19665 + move-result-wide v4
19667 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
19669 + move-result-wide v4
19671 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
19673 + move-result-object v3
19675 + const-string v4, ""
19677 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19679 + move-result-object v3
19681 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19683 + move-result-object v2
19685 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19689 + if-le v3, v6, :cond_3b
19691 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19693 + move-result-object v3
19698 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19703 + const/16 v3, 0x10
19705 + if-gt v0, v3, :cond_5d
19707 + new-instance v3, Ljava/lang/StringBuilder;
19709 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19711 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19713 + move-result-object v3
19717 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
19721 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19723 + move-result-object v3
19725 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19727 + move-result-object v2
19729 + add-int/lit8 v0, v0, 0x1
19734 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19736 + move-result-object v3
19741 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19746 +.method public getDeviceIdSetting()B
19749 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19754 +.method public getForceOnlineState()B
19757 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19762 +.method public getIccAccessSetting()B
19765 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19770 +.method public getIncomingCallsSetting()B
19773 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19778 +.method public getIntentBootCompletedSetting()B
19781 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19786 +.method public getIpTableProtectSetting()B
19789 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19794 +.method public getLine1Number()Ljava/lang/String;
19801 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19805 + if-ne v3, v4, :cond_b
19807 + const-string v3, ""
19813 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19817 + if-ne v3, v4, :cond_68
19819 + new-instance v1, Ljava/util/Random;
19821 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
19823 + new-instance v3, Ljava/lang/StringBuilder;
19825 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19827 + const-string v4, "+"
19829 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19831 + move-result-object v3
19833 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
19835 + move-result-wide v4
19837 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
19839 + move-result-wide v4
19841 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
19843 + move-result-object v3
19845 + const-string v4, ""
19847 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19849 + move-result-object v3
19851 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19853 + move-result-object v2
19855 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19859 + if-le v3, v6, :cond_41
19861 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19863 + move-result-object v3
19868 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19875 + if-gt v0, v3, :cond_63
19877 + new-instance v3, Ljava/lang/StringBuilder;
19879 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19881 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19883 + move-result-object v3
19887 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
19891 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19893 + move-result-object v3
19895 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19897 + move-result-object v2
19899 + add-int/lit8 v0, v0, 0x1
19904 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19906 + move-result-object v3
19911 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19916 +.method public getLine1NumberSetting()B
19919 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19924 +.method public getLocationGpsLat()Ljava/lang/String;
19927 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19931 + if-ne v0, v1, :cond_8
19933 + const-string v0, ""
19939 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19943 + if-ne v0, v1, :cond_12
19945 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
19947 + move-result-object v0
19952 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19957 +.method public getLocationGpsLon()Ljava/lang/String;
19960 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19964 + if-ne v0, v1, :cond_8
19966 + const-string v0, ""
19972 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19976 + if-ne v0, v1, :cond_12
19978 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
19980 + move-result-object v0
19985 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19990 +.method public getLocationGpsSetting()B
19993 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19998 +.method public getLocationNetworkLat()Ljava/lang/String;
20001 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20005 + if-ne v0, v1, :cond_8
20007 + const-string v0, ""
20013 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20017 + if-ne v0, v1, :cond_12
20019 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
20021 + move-result-object v0
20026 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20031 +.method public getLocationNetworkLon()Ljava/lang/String;
20034 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20038 + if-ne v0, v1, :cond_8
20040 + const-string v0, ""
20046 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20050 + if-ne v0, v1, :cond_12
20052 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
20054 + move-result-object v0
20059 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20064 +.method public getLocationNetworkSetting()B
20067 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20072 +.method public getMmsSetting()B
20075 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20080 +.method public getNetworkInfoSetting()B
20083 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20088 +.method public getNotificationSetting()B
20091 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20096 +.method public getOutgoingCallsSetting()B
20099 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20104 +.method public getPackageName()Ljava/lang/String;
20107 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20112 +.method public getPhoneCallSetting()B
20115 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20120 +.method public getRecordAudioSetting()B
20123 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20128 +.method public getSendMmsSetting()B
20131 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20136 +.method public getSimInfoSetting()B
20139 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20144 +.method public getSimSerialNumber()Ljava/lang/String;
20147 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20151 + if-ne v1, v2, :cond_8
20153 + const-string v1, ""
20159 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20163 + if-ne v1, v2, :cond_2e
20165 + new-instance v0, Ljava/util/Random;
20167 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
20169 + new-instance v1, Ljava/lang/StringBuilder;
20171 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
20173 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
20175 + move-result-wide v2
20177 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
20179 + move-result-wide v2
20181 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20183 + move-result-object v1
20185 + const-string v2, ""
20187 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20189 + move-result-object v1
20191 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20193 + move-result-object v1
20198 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20203 +.method public getSimSerialNumberSetting()B
20206 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20211 +.method public getSmsSendSetting()B
20214 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20219 +.method public getSmsSetting()B
20222 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20227 +.method public getSubscriberId()Ljava/lang/String;
20234 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20238 + if-ne v3, v4, :cond_b
20240 + const-string v3, ""
20246 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20250 + if-ne v3, v4, :cond_62
20252 + new-instance v1, Ljava/util/Random;
20254 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
20256 + new-instance v3, Ljava/lang/StringBuilder;
20258 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20260 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
20262 + move-result-wide v4
20264 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
20266 + move-result-wide v4
20268 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20270 + move-result-object v3
20272 + const-string v4, ""
20274 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20276 + move-result-object v3
20278 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20280 + move-result-object v2
20282 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20286 + if-le v3, v6, :cond_3b
20288 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20290 + move-result-object v3
20295 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20300 + const/16 v3, 0x10
20302 + if-gt v0, v3, :cond_5d
20304 + new-instance v3, Ljava/lang/StringBuilder;
20306 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20308 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20310 + move-result-object v3
20314 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20318 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20320 + move-result-object v3
20322 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20324 + move-result-object v2
20326 + add-int/lit8 v0, v0, 0x1
20331 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20333 + move-result-object v3
20338 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20343 +.method public getSubscriberIdSetting()B
20346 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20351 +.method public getSwitchConnectivitySetting()B
20354 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
20359 +.method public getSwitchWifiStateSetting()B
20362 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
20367 +.method public getSystemLogsSetting()B
20370 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
20375 +.method public getUid()I
20378 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
20383 +.method public getWifiInfoSetting()B
20386 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
20391 +.method public get_id()Ljava/lang/Integer;
20394 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
20399 +.method public setAccountsAuthTokensSetting(B)V
20402 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20407 +.method public setAccountsSetting(B)V
20410 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20415 +.method public setAddOnManagementSetting(B)V
20418 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
20423 +.method public setAllowedContacts([I)V
20426 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
20431 +.method public setAndroidID(Ljava/lang/String;)V
20434 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
20439 +.method public setAndroidIdSetting(B)V
20442 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
20447 +.method public setBookmarksSetting(B)V
20450 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20455 +.method public setCalendarSetting(B)V
20458 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20463 +.method public setCallLogSetting(B)V
20466 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20471 +.method public setCameraSetting(B)V
20474 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
20479 +.method public setContactsSetting(B)V
20482 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20487 +.method public setDeviceId(Ljava/lang/String;)V
20490 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
20495 +.method public setDeviceIdSetting(B)V
20498 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20503 +.method public setForceOnlineState(B)V
20506 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
20511 +.method public setIccAccessSetting(B)V
20514 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
20519 +.method public setIncomingCallsSetting(B)V
20522 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
20527 +.method public setIntentBootCompletedSetting(B)V
20530 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
20535 +.method public setIpTableProtectSetting(B)V
20538 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
20543 +.method public setLine1Number(Ljava/lang/String;)V
20546 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20551 +.method public setLine1NumberSetting(B)V
20554 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20559 +.method public setLocationGpsLat(Ljava/lang/String;)V
20562 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20567 +.method public setLocationGpsLon(Ljava/lang/String;)V
20570 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20575 +.method public setLocationGpsSetting(B)V
20578 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20583 +.method public setLocationNetworkLat(Ljava/lang/String;)V
20586 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20591 +.method public setLocationNetworkLon(Ljava/lang/String;)V
20594 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20599 +.method public setLocationNetworkSetting(B)V
20602 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20607 +.method public setMmsSetting(B)V
20610 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20615 +.method public setNetworkInfoSetting(B)V
20618 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20623 +.method public setNotificationSetting(B)V
20626 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20631 +.method public setOutgoingCallsSetting(B)V
20634 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20639 +.method public setPackageName(Ljava/lang/String;)V
20642 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20647 +.method public setPhoneCallSetting(B)V
20650 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20655 +.method public setRecordAudioSetting(B)V
20658 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20663 +.method public setSendMmsSetting(B)V
20666 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20671 +.method public setSimInfoSetting(B)V
20674 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20679 +.method public setSimSerialNumber(Ljava/lang/String;)V
20682 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20687 +.method public setSimSerialNumberSetting(B)V
20690 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20695 +.method public setSmsSendSetting(B)V
20698 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20703 +.method public setSmsSetting(B)V
20706 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20711 +.method public setSubscriberId(Ljava/lang/String;)V
20714 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20719 +.method public setSubscriberIdSetting(B)V
20722 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20727 +.method public setSwitchConnectivitySetting(B)V
20730 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
20735 +.method public setSwitchWifiStateSetting(B)V
20738 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
20743 +.method public setSystemLogsSetting(B)V
20746 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
20751 +.method public setUid(I)V
20754 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
20759 +.method public setWifiInfoSetting(B)V
20762 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
20767 +.method public toString()Ljava/lang/String;
20770 + new-instance v0, Ljava/lang/StringBuilder;
20772 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
20774 + const-string v1, "PrivacySettings [_id="
20776 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20778 + move-result-object v0
20780 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
20782 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20784 + move-result-object v0
20786 + const-string v1, ", accountsAuthTokensSetting="
20788 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20790 + move-result-object v0
20792 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20794 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20796 + move-result-object v0
20798 + const-string v1, ", accountsSetting="
20800 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20802 + move-result-object v0
20804 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20806 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20808 + move-result-object v0
20810 + const-string v1, ", bookmarksSetting="
20812 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20814 + move-result-object v0
20816 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20818 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20820 + move-result-object v0
20822 + const-string v1, ", calendarSetting="
20824 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20826 + move-result-object v0
20828 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20830 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20832 + move-result-object v0
20834 + const-string v1, ", callLogSetting="
20836 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20838 + move-result-object v0
20840 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20842 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20844 + move-result-object v0
20846 + const-string v1, ", contactsSetting="
20848 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20850 + move-result-object v0
20852 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20854 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20856 + move-result-object v0
20858 + const-string v1, ", deviceId="
20860 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20862 + move-result-object v0
20864 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
20866 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20868 + move-result-object v0
20870 + const-string v1, ", deviceIdSetting="
20872 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20874 + move-result-object v0
20876 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20878 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20880 + move-result-object v0
20882 + const-string v1, ", incomingCallsSetting="
20884 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20886 + move-result-object v0
20888 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
20890 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20892 + move-result-object v0
20894 + const-string v1, ", intentBootCompletedSetting="
20896 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20898 + move-result-object v0
20900 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
20902 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20904 + move-result-object v0
20906 + const-string v1, ", line1Number="
20908 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20910 + move-result-object v0
20912 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20914 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20916 + move-result-object v0
20918 + const-string v1, ", line1NumberSetting="
20920 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20922 + move-result-object v0
20924 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20926 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20928 + move-result-object v0
20930 + const-string v1, ", locationGpsLat="
20932 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20934 + move-result-object v0
20936 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20938 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20940 + move-result-object v0
20942 + const-string v1, ", locationGpsLon="
20944 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20946 + move-result-object v0
20948 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20950 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20952 + move-result-object v0
20954 + const-string v1, ", locationGpsSetting="
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;->locationGpsSetting:B
20962 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20964 + move-result-object v0
20966 + const-string v1, ", locationNetworkLat="
20968 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20970 + move-result-object v0
20972 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20974 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20976 + move-result-object v0
20978 + const-string v1, ", locationNetworkLon="
20980 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20982 + move-result-object v0
20984 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20986 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20988 + move-result-object v0
20990 + const-string v1, ", locationNetworkSetting="
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;->locationNetworkSetting:B
20998 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21000 + move-result-object v0
21002 + const-string v1, ", mmsSetting="
21004 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21006 + move-result-object v0
21008 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21010 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21012 + move-result-object v0
21014 + const-string v1, ", networkInfoSetting="
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;->networkInfoSetting:B
21022 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21024 + move-result-object v0
21026 + const-string v1, ", notificationSetting="
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;->notificationSetting:B
21034 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21036 + move-result-object v0
21038 + const-string v1, ", outgoingCallsSetting="
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;->outgoingCallsSetting:B
21046 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21048 + move-result-object v0
21050 + const-string v1, ", packageName="
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;->packageName: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, ", simInfoSetting="
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;->simInfoSetting:B
21070 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21072 + move-result-object v0
21074 + const-string v1, ", simSerialNumber="
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;->simSerialNumber: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, ", simSerialNumberSetting="
21088 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21090 + move-result-object v0
21092 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21094 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21096 + move-result-object v0
21098 + const-string v1, ", smsSetting="
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;->smsSetting:B
21106 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21108 + move-result-object v0
21110 + const-string v1, ", subscriberId="
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;->subscriberId: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, ", subscriberIdSetting="
21124 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21126 + move-result-object v0
21128 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21130 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21132 + move-result-object v0
21134 + const-string v1, ", systemLogsSetting="
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;->systemLogsSetting:B
21142 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21144 + move-result-object v0
21146 + const-string v1, ", uid="
21148 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21150 + move-result-object v0
21152 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
21154 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21156 + move-result-object v0
21158 + const-string v1, ", phoneCallSetting="
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;->phoneCallSetting:B
21166 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21168 + move-result-object v0
21170 + const-string v1, ", smsSendSetting="
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;->smsSendSetting:B
21178 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21180 + move-result-object v0
21182 + const-string v1, ", recordAudioSetting="
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;->recordAudioSetting:B
21190 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21192 + move-result-object v0
21194 + const-string v1, ", cameraSetting="
21196 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21198 + move-result-object v0
21200 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21202 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21204 + move-result-object v0
21206 + const-string v1, ", ipTableProtectSetting="
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;->ipTableProtectSetting:B
21214 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21216 + move-result-object v0
21218 + const-string v1, ", iccAccessSetting="
21220 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21222 + move-result-object v0
21224 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21226 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21228 + move-result-object v0
21230 + const-string v1, ", addOnManagementSetting="
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;->addOnManagementSetting:B
21238 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21240 + move-result-object v0
21242 + const-string v1, ", android ID="
21244 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21246 + move-result-object v0
21248 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21250 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21252 + move-result-object v0
21254 + const-string v1, ", androidIdSetting="
21256 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21258 + move-result-object v0
21260 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21262 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21264 + move-result-object v0
21266 + const-string v1, ", wifiInfoSetting="
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;->wifiInfoSetting:B
21274 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21276 + move-result-object v0
21278 + const-string v1, ", switchConnectivitySetting="
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;->switchConnectivitySetting:B
21286 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21288 + move-result-object v0
21290 + const-string v1, ", sendMmsSetting="
21292 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21294 + move-result-object v0
21296 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21298 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21300 + move-result-object v0
21302 + const-string v1, ", forceOnlineState="
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;->forceOnlineState:B
21310 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21312 + move-result-object v0
21314 + const-string v1, ", switchWifiStateSetting="
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;->switchWifiStateSetting:B
21322 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21324 + move-result-object v0
21326 + const-string v1, "]"
21328 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21330 + move-result-object v0
21332 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21334 + move-result-object v0
21339 +.method public writeToParcel(Landroid/os/Parcel;I)V
21342 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21344 + if-nez v0, :cond_ef
21349 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21351 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21353 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21355 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
21357 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21359 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
21361 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21363 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
21365 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21367 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
21369 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21371 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
21373 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21375 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
21377 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21379 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
21381 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21383 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
21385 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21387 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
21389 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21391 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
21393 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21395 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
21397 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21399 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
21401 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21403 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21405 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21407 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21409 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21411 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21413 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21415 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21417 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21419 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21421 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21423 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
21425 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21427 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
21429 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21431 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
21433 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21435 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
21437 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21439 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
21441 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21443 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
21445 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21447 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21449 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21451 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21453 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21455 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
21457 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21459 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
21461 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21463 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21465 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21467 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
21469 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21471 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
21473 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21475 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21477 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21479 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21481 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21483 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
21485 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
21487 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21489 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21491 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21493 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21495 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21497 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21499 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21501 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21503 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21505 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21507 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21509 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21511 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21513 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21515 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21517 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21519 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21521 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21523 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21525 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21527 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21529 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21531 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21533 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21538 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21540 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
21546 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
21547 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
21548 +++ opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2013-01-08 23:29:43.608287601 -0600
21550 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21551 +.super Ljava/lang/Object;
21552 +.source "PrivacyAccountManager.java"
21555 +.implements Landroid/accounts/AccountManagerFuture;
21559 +.annotation system Ldalvik/annotation/EnclosingClass;
21560 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
21563 +.annotation system Ldalvik/annotation/InnerClass;
21564 + accessFlags = 0x2
21565 + name = "PrivacyAccountManagerFuture"
21568 +.annotation system Ldalvik/annotation/Signature;
21571 + "Ljava/lang/Object;",
21573 + "Ljava/lang/Object;",
21574 + "Landroid/accounts/AccountManagerFuture",
21581 +.field private result:Ljava/lang/Object;
21582 + .annotation system Ldalvik/annotation/Signature;
21589 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
21593 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
21595 + .annotation system Ldalvik/annotation/Signature;
21601 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
21603 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
21605 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21612 +.method public cancel(Z)Z
21620 +.method public getResult()Ljava/lang/Object;
21622 + .annotation system Ldalvik/annotation/Signature;
21628 + .annotation system Ldalvik/annotation/Throws;
21630 + Landroid/accounts/OperationCanceledException;,
21631 + Ljava/io/IOException;,
21632 + Landroid/accounts/AuthenticatorException;
21636 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21641 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
21643 + .annotation system Ldalvik/annotation/Signature;
21646 + "Ljava/util/concurrent/TimeUnit;",
21651 + .annotation system Ldalvik/annotation/Throws;
21653 + Landroid/accounts/OperationCanceledException;,
21654 + Ljava/io/IOException;,
21655 + Landroid/accounts/AuthenticatorException;
21659 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21664 +.method public isCancelled()Z
21672 +.method public isDone()Z
21679 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
21680 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
21681 +++ opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2013-01-08 23:29:43.608287601 -0600
21683 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
21684 +.super Landroid/accounts/AccountManager;
21685 +.source "PrivacyAccountManager.java"
21689 +.annotation system Ldalvik/annotation/MemberClasses;
21691 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21697 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
21701 +.field private context:Landroid/content/Context;
21703 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
21707 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
21710 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
21712 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21714 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21716 + const-string/jumbo v1, "privacy"
21718 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21720 + move-result-object v1
21722 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21724 + move-result-object v1
21726 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21728 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21733 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
21736 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
21738 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21740 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21742 + const-string/jumbo v1, "privacy"
21744 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21746 + move-result-object v1
21748 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21750 + move-result-object v1
21752 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21754 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21761 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
21763 + .annotation system Ldalvik/annotation/Throws;
21765 + Landroid/accounts/OperationCanceledException;,
21766 + Ljava/io/IOException;,
21767 + Landroid/accounts/AuthenticatorException;
21773 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21775 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21777 + move-result-object v1
21779 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21783 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21785 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21787 + move-result-object v6
21789 + if-eqz v6, :cond_23
21791 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
21795 + if-eqz v0, :cond_23
21799 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21803 + const-string v4, "authTokens"
21805 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21811 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
21813 + move-result-object v7
21815 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21819 + const-string v4, "authTokens"
21821 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21826 +.method public getAccounts()[Landroid/accounts/Account;
21833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21835 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21837 + move-result-object v1
21839 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21843 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21845 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21847 + move-result-object v6
21849 + if-eqz v6, :cond_27
21851 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21855 + if-eqz v0, :cond_27
21857 + const-string v8, "[empty accounts list]"
21859 + new-array v7, v3, [Landroid/accounts/Account;
21861 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21865 + const-string v4, "accountsList"
21867 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21873 + const-string v8, "[real value]"
21875 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
21877 + move-result-object v7
21879 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21881 + const-string v4, "accountsList"
21883 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21888 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
21895 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21897 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21899 + move-result-object v1
21901 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21907 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21909 + move-result-object v6
21911 + if-eqz v6, :cond_27
21913 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21917 + if-eqz v0, :cond_27
21919 + const-string v8, "[empty accounts list]"
21921 + new-array v7, v3, [Landroid/accounts/Account;
21923 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21927 + const-string v4, "accountsList"
21929 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21935 + const-string v8, "[real value]"
21937 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
21939 + move-result-object v7
21941 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21943 + const-string v4, "accountsList"
21945 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21950 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
21952 + .annotation system Ldalvik/annotation/Signature;
21955 + "Ljava/lang/String;",
21957 + "Ljava/lang/String;",
21958 + "Landroid/accounts/AccountManagerCallback",
21960 + "Landroid/accounts/Account;",
21962 + "Landroid/os/Handler;",
21964 + "Landroid/accounts/AccountManagerFuture",
21966 + "Landroid/accounts/Account;",
21975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21977 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21979 + move-result-object v1
21981 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21985 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21987 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21989 + move-result-object v6
21991 + if-eqz v6, :cond_2c
21993 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21997 + if-eqz v0, :cond_2c
21999 + const-string v8, "[false]"
22001 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22003 + new-array v0, v3, [Landroid/accounts/Account;
22005 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22007 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22011 + const-string v4, "accountsList"
22013 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22019 + const-string v8, "[real value]"
22021 + 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;
22023 + move-result-object v7
22025 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22027 + const-string v4, "accountsList"
22029 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22034 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22036 + .annotation system Ldalvik/annotation/Signature;
22039 + "Landroid/accounts/Account;",
22040 + "Ljava/lang/String;",
22041 + "Landroid/os/Bundle;",
22042 + "Landroid/app/Activity;",
22043 + "Landroid/accounts/AccountManagerCallback",
22045 + "Landroid/os/Bundle;",
22047 + "Landroid/os/Handler;",
22049 + "Landroid/accounts/AccountManagerFuture",
22051 + "Landroid/os/Bundle;",
22058 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22060 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22062 + move-result-object v1
22064 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22068 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22070 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22072 + move-result-object v6
22074 + if-eqz v6, :cond_2e
22076 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22080 + if-eqz v0, :cond_2e
22082 + const-string v8, "[empty]"
22084 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22086 + new-instance v0, Landroid/os/Bundle;
22088 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22090 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22092 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22096 + const-string v4, "authTokens"
22098 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22104 + const-string v8, "[real value]"
22106 + 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;
22108 + move-result-object v7
22110 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22114 + const-string v4, "authTokens"
22116 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22121 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22123 + .annotation system Ldalvik/annotation/Signature;
22126 + "Landroid/accounts/Account;",
22127 + "Ljava/lang/String;",
22129 + "Landroid/accounts/AccountManagerCallback",
22131 + "Landroid/os/Bundle;",
22133 + "Landroid/os/Handler;",
22135 + "Landroid/accounts/AccountManagerFuture",
22137 + "Landroid/os/Bundle;",
22144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22146 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22148 + move-result-object v1
22150 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22154 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22156 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22158 + move-result-object v6
22160 + if-eqz v6, :cond_2e
22162 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22166 + if-eqz v0, :cond_2e
22168 + const-string v8, "[empty]"
22170 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22172 + new-instance v0, Landroid/os/Bundle;
22174 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22176 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22178 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22182 + const-string v4, "authTokens"
22184 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22190 + const-string v8, "[real value]"
22192 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22194 + move-result-object v7
22196 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22200 + const-string v4, "authTokens"
22202 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22207 +.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;
22209 + .annotation system Ldalvik/annotation/Signature;
22212 + "Ljava/lang/String;",
22213 + "Ljava/lang/String;",
22215 + "Ljava/lang/String;",
22216 + "Landroid/app/Activity;",
22217 + "Landroid/os/Bundle;",
22218 + "Landroid/os/Bundle;",
22219 + "Landroid/accounts/AccountManagerCallback",
22221 + "Landroid/os/Bundle;",
22223 + "Landroid/os/Handler;",
22225 + "Landroid/accounts/AccountManagerFuture",
22227 + "Landroid/os/Bundle;",
22232 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22234 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22236 + move-result-object v1
22238 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22242 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22244 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22246 + move-result-object v6
22248 + if-eqz v6, :cond_2e
22250 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22254 + if-eqz v0, :cond_2e
22256 + const-string v8, "[empty]"
22258 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22260 + new-instance v0, Landroid/os/Bundle;
22262 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22264 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22266 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22270 + const-string v4, "authTokens"
22274 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22280 + const-string v8, "[real value]"
22282 + 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;
22284 + move-result-object v7
22286 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22290 + const-string v4, "authTokens"
22294 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22299 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22301 + .annotation system Ldalvik/annotation/Signature;
22304 + "Landroid/accounts/Account;",
22306 + "Ljava/lang/String;",
22307 + "Landroid/accounts/AccountManagerCallback",
22309 + "Ljava/lang/Boolean;",
22311 + "Landroid/os/Handler;",
22313 + "Landroid/accounts/AccountManagerFuture",
22315 + "Ljava/lang/Boolean;",
22324 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22326 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22328 + move-result-object v1
22330 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22334 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22336 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22338 + move-result-object v6
22340 + if-eqz v6, :cond_2e
22342 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22346 + if-eqz v0, :cond_2e
22348 + const-string v8, "[false]"
22350 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22352 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
22354 + move-result-object v0
22356 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22358 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22362 + const-string v4, "accountsList"
22364 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22370 + const-string v8, "[real value]"
22372 + 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;
22374 + move-result-object v7
22376 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22378 + const-string v4, "accountsList"
22380 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22384 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali opd-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
22385 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
22386 +++ opd-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2013-01-08 23:29:43.612287626 -0600
22388 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
22389 +.super Ljava/lang/Object;
22390 +.source "PrivacyActivityManagerService.java"
22394 +.field private static final DATA_SMS_RECEIVED_INTENT:Ljava/lang/String; = "android.intent.action.DATA_SMS_RECEIVED"
22396 +.field private static final SMS_RECEIVED_ACTION_INTENT:Ljava/lang/String; = "android.provider.Telephony.SMS_RECEIVED"
22398 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
22400 +.field private static final WAP_PUSH_RECEIVED_INTENT:Ljava/lang/String; = "android.provider.Telephony.WAP_PUSH_RECEIVED"
22402 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
22404 +.field private static tmpIn:Landroid/content/Intent;
22406 +.field private static tmpInHash:J
22408 +.field private static tmpInReceivers:I
22410 +.field private static tmpMms:Landroid/content/Intent;
22412 +.field private static tmpMmsHash:J
22414 +.field private static tmpMmsReceivers:I
22416 +.field private static tmpOut:Landroid/content/Intent;
22418 +.field private static tmpOutHash:J
22420 +.field private static tmpOutReceivers:I
22422 +.field private static tmpPackageAddedHash:J
22424 +.field private static tmpSms:Landroid/content/Intent;
22426 +.field private static tmpSmsHash:J
22428 +.field private static tmpSmsReceivers:I
22432 +.method static constructor <clinit>()V
22437 + const-wide/16 v0, 0x0
22439 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22441 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22443 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22445 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22447 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22449 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22451 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
22453 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
22455 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
22460 +.method public constructor <init>()V
22463 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
22468 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
22471 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22473 + if-nez v2, :cond_13
22475 + if-eqz p3, :cond_13
22477 + const-string/jumbo v2, "privacy"
22479 + move-object/from16 v0, p3
22481 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
22483 + move-result-object v2
22485 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
22487 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22490 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22492 + if-nez v2, :cond_2c
22494 + if-nez p3, :cond_2c
22496 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
22500 + const-string/jumbo v4, "privacy"
22502 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
22504 + move-result-object v4
22506 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
22508 + move-result-object v4
22510 + invoke-direct {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
22512 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22515 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
22517 + move-result-object v16
22519 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
22521 + move-object/from16 v0, v16
22523 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22527 + if-eqz v2, :cond_cc
22529 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22531 + move-object/from16 v0, p0
22533 + move/from16 v1, p1
22535 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22537 + move-result-object v8
22539 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22541 + move-object/from16 v0, p2
22543 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22545 + move-result-object v23
22547 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22549 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22551 + move-result-wide v4
22553 + cmp-long v2, v2, v4
22555 + if-eqz v2, :cond_66
22557 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22559 + move-result-object v2
22561 + check-cast v2, Landroid/content/Intent;
22563 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22565 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22567 + move-result-wide v2
22569 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22571 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22574 + if-eqz v8, :cond_93
22577 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
22581 + if-eqz v2, :cond_93
22583 + const-string v23, ""
22585 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22587 + move-object/from16 v0, p2
22589 + move-object/from16 v1, v23
22591 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22593 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22597 + const-string/jumbo v6, "outgoingCall"
22601 + move-object/from16 v3, p0
22603 + move/from16 v4, p1
22605 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22607 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_87} :catch_bd
22611 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22615 + if-le v2, v3, :cond_c8
22617 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22619 + add-int/lit8 v2, v2, -0x1
22621 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22629 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22631 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22633 + move-result-wide v4
22635 + cmp-long v2, v2, v4
22637 + if-nez v2, :cond_87
22639 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22641 + const-string v3, "android.intent.extra.PHONE_NUMBER"
22643 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22645 + move-result-object v23
22647 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22649 + move-object/from16 v0, p2
22651 + move-object/from16 v1, v23
22653 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22655 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22659 + const-string/jumbo v6, "outgoingCall"
22663 + move-object/from16 v3, p0
22665 + move/from16 v4, p1
22667 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22669 + .catch Ljava/lang/Exception; {:try_start_93 .. :try_end_bc} :catch_bd
22674 + move-exception v20
22676 + const-string v2, "PrivacyActivityManagerService"
22678 + const-string v3, "failed to enforce intent broadcast permission"
22680 + move-object/from16 v0, v20
22682 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22689 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22694 + const-string v2, "android.intent.action.PHONE_STATE"
22696 + move-object/from16 v0, v16
22698 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22702 + if-eqz v2, :cond_170
22704 + const-string v2, "incoming_number"
22706 + move-object/from16 v0, p2
22708 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22710 + move-result-object v23
22712 + if-eqz v23, :cond_92
22714 + invoke-virtual/range {v23 .. v23}, Ljava/lang/String;->isEmpty()Z
22718 + if-nez v2, :cond_92
22720 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22722 + move-object/from16 v0, p0
22724 + move/from16 v1, p1
22726 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22728 + move-result-object v8
22730 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22732 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22734 + move-result-wide v4
22736 + cmp-long v2, v2, v4
22738 + if-eqz v2, :cond_10a
22740 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22742 + move-result-object v2
22744 + check-cast v2, Landroid/content/Intent;
22746 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22748 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22750 + move-result-wide v2
22752 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22754 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22757 + if-eqz v8, :cond_137
22760 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
22764 + if-eqz v2, :cond_137
22766 + const-string v23, ""
22768 + const-string v2, "incoming_number"
22770 + move-object/from16 v0, p2
22772 + move-object/from16 v1, v23
22774 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22776 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22780 + const-string v6, "incomingCall"
22784 + move-object/from16 v3, p0
22786 + move/from16 v4, p1
22788 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22790 + .catch Ljava/lang/Exception; {:try_start_10c .. :try_end_12a} :catch_160
22794 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22798 + if-le v2, v3, :cond_16b
22800 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22802 + add-int/lit8 v2, v2, -0x1
22804 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22810 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22812 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22814 + move-result-wide v4
22816 + cmp-long v2, v2, v4
22818 + if-nez v2, :cond_12a
22820 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22822 + const-string v3, "incoming_number"
22824 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22826 + move-result-object v23
22828 + const-string v2, "incoming_number"
22830 + move-object/from16 v0, p2
22832 + move-object/from16 v1, v23
22834 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22836 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22840 + const-string v6, "incomingCall"
22844 + move-object/from16 v3, p0
22846 + move/from16 v4, p1
22848 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22850 + .catch Ljava/lang/Exception; {:try_start_137 .. :try_end_15f} :catch_160
22855 + move-exception v20
22857 + const-string v2, "PrivacyActivityManagerService"
22859 + const-string v3, "failed to enforce intent broadcast permission"
22861 + move-object/from16 v0, v20
22863 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22870 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22875 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
22877 + move-object/from16 v0, v16
22879 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22883 + if-eqz v2, :cond_253
22885 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22887 + move-object/from16 v0, p0
22889 + move/from16 v1, p1
22891 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22893 + move-result-object v8
22895 + const-string v23, "[real]"
22897 + const-string/jumbo v2, "pdus"
22899 + move-object/from16 v0, p2
22901 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
22903 + move-result-object v2
22905 + check-cast v2, [Ljava/lang/Object;
22907 + move-object/from16 v22, v2
22909 + check-cast v22, [Ljava/lang/Object;
22911 + if-eqz v22, :cond_1f8
22915 + aget-object v2, v22, v2
22917 + check-cast v2, [B
22919 + check-cast v2, [B
22921 + move-object/from16 v19, v2
22924 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22926 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22928 + move-result-wide v4
22930 + cmp-long v2, v2, v4
22932 + if-eqz v2, :cond_1ba
22934 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22936 + move-result-object v2
22938 + check-cast v2, Landroid/content/Intent;
22940 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
22942 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22944 + move-result-wide v2
22946 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22948 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22951 + if-eqz v8, :cond_1fb
22954 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
22958 + if-eqz v2, :cond_1fb
22960 + const-string v23, "[empty]"
22964 + new-array v0, v2, [Ljava/lang/Object;
22966 + move-object/from16 v21, v0
22970 + const/16 v3, 0x10
22972 + new-array v3, v3, [B
22974 + fill-array-data v3, :array_3da
22976 + aput-object v3, v21, v2
22978 + const-string/jumbo v2, "pdus"
22980 + move-object/from16 v0, p2
22982 + move-object/from16 v1, v21
22984 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
22986 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22990 + const-string/jumbo v6, "sms"
22994 + move-object/from16 v3, p0
22996 + move/from16 v4, p1
22998 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23000 + .catch Ljava/lang/Exception; {:try_start_1bc .. :try_end_1eb} :catch_240
23004 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23008 + if-le v2, v3, :cond_24e
23010 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23012 + add-int/lit8 v2, v2, -0x1
23014 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
23019 + const/16 v19, 0x0
23025 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
23027 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23029 + move-result-wide v4
23031 + cmp-long v2, v2, v4
23033 + if-nez v2, :cond_1eb
23035 + const-string/jumbo v2, "pdus"
23037 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23039 + const-string/jumbo v4, "pdus"
23041 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23043 + move-result-object v3
23045 + move-object/from16 v0, p2
23047 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23049 + const-string/jumbo v2, "pdus"
23051 + move-object/from16 v0, p2
23053 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23055 + move-result-object v2
23057 + check-cast v2, [Ljava/lang/Object;
23059 + move-object v0, v2
23061 + check-cast v0, [Ljava/lang/Object;
23063 + move-object/from16 v22, v0
23065 + if-eqz v22, :cond_24b
23069 + aget-object v2, v22, v2
23071 + check-cast v2, [B
23073 + check-cast v2, [B
23075 + move-object/from16 v19, v2
23078 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23082 + const-string/jumbo v6, "sms"
23086 + move-object/from16 v3, p0
23088 + move/from16 v4, p1
23090 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23092 + .catch Ljava/lang/Exception; {:try_start_1fb .. :try_end_23f} :catch_240
23097 + move-exception v20
23099 + const-string v2, "PrivacyActivityManagerService"
23101 + const-string v3, "failed to enforce intent broadcast permission"
23103 + move-object/from16 v0, v20
23105 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23110 + const/16 v19, 0x0
23117 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23122 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
23124 + move-object/from16 v0, v16
23126 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23130 + if-nez v2, :cond_267
23132 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
23134 + move-object/from16 v0, v16
23136 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23140 + if-eqz v2, :cond_340
23143 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23145 + move-object/from16 v0, p0
23147 + move/from16 v1, p1
23149 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23151 + move-result-object v8
23153 + const-string v23, "[real]"
23155 + const-string/jumbo v2, "pdus"
23157 + move-object/from16 v0, p2
23159 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23161 + move-result-object v2
23163 + check-cast v2, [Ljava/lang/Object;
23165 + move-object/from16 v22, v2
23167 + check-cast v22, [Ljava/lang/Object;
23169 + if-eqz v22, :cond_2e5
23173 + aget-object v2, v22, v2
23175 + check-cast v2, [B
23177 + check-cast v2, [B
23179 + move-object/from16 v19, v2
23182 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23184 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23186 + move-result-wide v4
23188 + cmp-long v2, v2, v4
23190 + if-eqz v2, :cond_2a7
23192 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23194 + move-result-object v2
23196 + check-cast v2, Landroid/content/Intent;
23198 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23200 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23202 + move-result-wide v2
23204 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23206 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23209 + if-eqz v8, :cond_2e8
23212 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
23216 + if-eqz v2, :cond_2e8
23218 + const-string v23, "[empty]"
23222 + new-array v0, v2, [Ljava/lang/Object;
23224 + move-object/from16 v21, v0
23228 + const/16 v3, 0x10
23230 + new-array v3, v3, [B
23232 + fill-array-data v3, :array_3e6
23234 + aput-object v3, v21, v2
23236 + const-string/jumbo v2, "pdus"
23238 + move-object/from16 v0, p2
23240 + move-object/from16 v1, v21
23242 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23244 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23248 + const-string/jumbo v6, "mms"
23252 + move-object/from16 v3, p0
23254 + move/from16 v4, p1
23256 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23258 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2d8} :catch_32d
23262 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23266 + if-le v2, v3, :cond_33b
23268 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23270 + add-int/lit8 v2, v2, -0x1
23272 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23277 + const/16 v19, 0x0
23283 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23285 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23287 + move-result-wide v4
23289 + cmp-long v2, v2, v4
23291 + if-nez v2, :cond_2d8
23293 + const-string/jumbo v2, "pdus"
23295 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23297 + const-string/jumbo v4, "pdus"
23299 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23301 + move-result-object v3
23303 + move-object/from16 v0, p2
23305 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23307 + const-string/jumbo v2, "pdus"
23309 + move-object/from16 v0, p2
23311 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23313 + move-result-object v2
23315 + check-cast v2, [Ljava/lang/Object;
23317 + move-object v0, v2
23319 + check-cast v0, [Ljava/lang/Object;
23321 + move-object/from16 v22, v0
23323 + if-eqz v22, :cond_338
23327 + aget-object v2, v22, v2
23329 + check-cast v2, [B
23331 + check-cast v2, [B
23333 + move-object/from16 v19, v2
23336 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23340 + const-string/jumbo v6, "mms"
23344 + move-object/from16 v3, p0
23346 + move/from16 v4, p1
23348 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23350 + .catch Ljava/lang/Exception; {:try_start_2e8 .. :try_end_32c} :catch_32d
23355 + move-exception v20
23357 + const-string v2, "PrivacyActivityManagerService"
23359 + const-string v3, "failed to enforce intent broadcast permission"
23361 + move-object/from16 v0, v20
23363 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23368 + const/16 v19, 0x0
23375 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23380 + const-string v2, "android.intent.action.BOOT_COMPLETED"
23382 + move-object/from16 v0, v16
23384 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23388 + if-eqz v2, :cond_38d
23390 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23392 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
23394 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23396 + move-object/from16 v0, p0
23398 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
23400 + move-result-object v8
23402 + if-eqz v8, :cond_376
23404 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
23408 + if-eqz v2, :cond_376
23410 + const-string v2, "catchBootComplete"
23412 + move-object/from16 v0, p2
23414 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
23416 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23420 + const-string v13, "intentBootCompleted"
23426 + move-object/from16 v10, p0
23428 + move/from16 v11, p1
23430 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23435 + const-string v2, "android.intent.action.BOOT_COMPLETED"
23437 + move-object/from16 v0, p2
23439 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
23441 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23445 + const-string v13, "intentBootCompleted"
23451 + move-object/from16 v10, p0
23453 + move/from16 v11, p1
23455 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23460 + const-string v2, "android.intent.action.PACKAGE_ADDED"
23462 + move-object/from16 v0, v16
23464 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23468 + if-eqz v2, :cond_92
23470 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23472 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23474 + move-result-wide v4
23476 + cmp-long v2, v2, v4
23478 + if-eqz v2, :cond_92
23480 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23482 + move-result-wide v2
23484 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23486 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
23488 + move-result-object v2
23490 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
23492 + move-result-object v17
23494 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
23496 + move-result-object v2
23498 + const-string v3, "android.intent.extra.UID"
23500 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
23504 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23506 + move-object/from16 v0, v17
23508 + move/from16 v1, v18
23510 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23512 + move-result-object v8
23514 + if-eqz v8, :cond_92
23516 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
23520 + move/from16 v0, v18
23522 + if-eq v2, v0, :cond_92
23524 + move/from16 v0, v18
23526 + invoke-virtual {v8, v0}, Landroid/privacy/PrivacySettings;->setUid(I)V
23528 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23530 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
23577 +.method private static hashCode(Landroid/content/Intent;)J
23580 + const-wide/16 v3, 0x0
23582 + const-string/jumbo v2, "privacy_hash"
23584 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
23586 + move-result-wide v0
23588 + cmp-long v2, v0, v3
23590 + if-nez v2, :cond_1e
23592 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
23596 + int-to-long v2, v2
23598 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
23600 + move-result-wide v4
23602 + add-long v0, v2, v4
23604 + const-string/jumbo v2, "privacy_hash"
23606 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
23611 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali
23612 --- stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 1969-12-31 18:00:00.000000000 -0600
23613 +++ opd-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 2013-01-08 23:29:43.612287626 -0600
23615 +.class public Landroid/privacy/surrogate/PrivacyConnectivityManager;
23616 +.super Landroid/net/ConnectivityManager;
23617 +.source "PrivacyConnectivityManager.java"
23621 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyConnectivityManager"
23625 +.field private context:Landroid/content/Context;
23627 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
23631 +.method public constructor <init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
23634 + invoke-direct {p0, p1}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
23636 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23638 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
23640 + const-string/jumbo v1, "privacy"
23642 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
23644 + move-result-object v1
23646 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
23648 + move-result-object v1
23650 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
23652 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23654 + const-string v0, "PrivacyConnectivityManager"
23656 + new-instance v1, Ljava/lang/StringBuilder;
23658 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
23660 + const-string/jumbo v2, "now in constructor for package: "
23662 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23664 + move-result-object v1
23666 + invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23668 + move-result-object v2
23670 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23672 + move-result-object v1
23674 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23676 + move-result-object v1
23678 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23685 +.method public getActiveLinkProperties()Landroid/net/LinkProperties;
23692 + new-instance v7, Landroid/net/LinkProperties;
23694 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
23696 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23698 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23700 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23702 + move-result-object v1
23704 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23708 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23710 + move-result-object v8
23712 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23714 + if-eqz v0, :cond_34
23716 + if-eqz v8, :cond_34
23718 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23722 + if-eqz v0, :cond_34
23724 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23726 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23728 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23730 + move-result-object v1
23734 + const-string/jumbo v4, "networkInfoCurrent"
23736 + move-object v6, v5
23738 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23744 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23746 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23748 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23750 + move-result-object v1
23754 + const-string/jumbo v4, "networkInfoCurrent"
23756 + move-object v6, v5
23758 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23760 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
23762 + move-result-object v7
23767 +.method public getActiveNetworkInfo()Landroid/net/NetworkInfo;
23778 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23780 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23782 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23784 + move-result-object v1
23786 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23790 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23792 + move-result-object v8
23794 + new-instance v7, Landroid/net/NetworkInfo;
23796 + const-string v0, "MOBILE"
23798 + const-string v1, "UNKNOWN"
23800 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
23802 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23804 + if-eqz v0, :cond_31
23806 + if-eqz v8, :cond_31
23808 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
23812 + if-nez v0, :cond_31
23814 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
23816 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
23818 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
23821 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23823 + if-eqz v0, :cond_4d
23825 + if-eqz v8, :cond_4d
23827 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23831 + if-eqz v0, :cond_4d
23833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23835 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23837 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23839 + move-result-object v1
23841 + const-string/jumbo v4, "networkInfoCurrent"
23843 + move-object v6, v5
23845 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23851 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23853 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23855 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23857 + move-result-object v1
23859 + const-string/jumbo v4, "networkInfoCurrent"
23863 + move-object v6, v5
23865 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23867 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
23869 + move-result-object v7
23874 +.method public getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
23885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23887 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23889 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23891 + move-result-object v1
23893 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23897 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23899 + move-result-object v8
23901 + new-instance v7, Landroid/net/NetworkInfo;
23903 + const-string v0, "MOBILE"
23905 + const-string v1, "UNKNOWN"
23907 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
23909 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23911 + if-eqz v0, :cond_31
23913 + if-eqz v8, :cond_31
23915 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
23919 + if-nez v0, :cond_31
23921 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
23923 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
23925 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
23928 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23930 + if-eqz v0, :cond_4d
23932 + if-eqz v8, :cond_4d
23934 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23938 + if-eqz v0, :cond_4d
23940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23942 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23944 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23946 + move-result-object v1
23948 + const-string/jumbo v4, "networkInfoCurrent"
23950 + move-object v6, v5
23952 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23958 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23960 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23962 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23964 + move-result-object v1
23966 + const-string/jumbo v4, "networkInfoCurrent"
23970 + move-object v6, v5
23972 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23974 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
23976 + move-result-object v7
23981 +.method public getAllNetworkInfo()[Landroid/net/NetworkInfo;
23992 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23994 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23996 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23998 + move-result-object v1
24000 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24004 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24006 + move-result-object v8
24008 + new-array v7, v3, [Landroid/net/NetworkInfo;
24010 + new-instance v0, Landroid/net/NetworkInfo;
24012 + const-string v1, "MOBILE"
24014 + const-string v4, "CONNECTED"
24016 + invoke-direct {v0, v6, v6, v1, v4}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24018 + aput-object v0, v7, v6
24020 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24022 + if-eqz v0, :cond_39
24024 + if-eqz v8, :cond_39
24026 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24030 + if-nez v0, :cond_39
24032 + aget-object v0, v7, v6
24034 + invoke-virtual {v0, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24036 + aget-object v0, v7, v6
24038 + sget-object v1, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24040 + invoke-virtual {v0, v1}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24045 + if-eqz v0, :cond_55
24047 + if-eqz v8, :cond_55
24049 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24053 + if-eqz v0, :cond_55
24055 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24057 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24059 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24061 + move-result-object v1
24063 + const-string/jumbo v4, "networkInfoCurrent"
24065 + move-object v6, v5
24067 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24073 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24075 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24077 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24079 + move-result-object v1
24081 + const-string/jumbo v4, "networkInfoCurrent"
24085 + move-object v6, v5
24087 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24089 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
24091 + move-result-object v7
24096 +.method public getLinkProperties(I)Landroid/net/LinkProperties;
24103 + new-instance v7, Landroid/net/LinkProperties;
24105 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
24107 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24109 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24111 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24113 + move-result-object v1
24115 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24119 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24121 + move-result-object v8
24123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24125 + if-eqz v0, :cond_34
24127 + if-eqz v8, :cond_34
24129 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24133 + if-eqz v0, :cond_34
24135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24137 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24139 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24141 + move-result-object v1
24145 + const-string/jumbo v4, "networkInfoCurrent"
24147 + move-object v6, v5
24149 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24155 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24157 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24159 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24161 + move-result-object v1
24165 + const-string/jumbo v4, "networkInfoCurrent"
24167 + move-object v6, v5
24169 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24171 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties;
24173 + move-result-object v7
24178 +.method public getMobileDataEnabled()Z
24187 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24189 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24191 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24193 + move-result-object v1
24195 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24199 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24201 + move-result-object v7
24203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24205 + if-eqz v0, :cond_2f
24207 + if-eqz v7, :cond_2f
24209 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24213 + if-nez v0, :cond_2f
24215 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24217 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24219 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24221 + move-result-object v1
24223 + const-string/jumbo v4, "networkInfoCurrent"
24225 + move-object v6, v5
24227 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24233 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24235 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24237 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24239 + move-result-object v1
24243 + const-string/jumbo v4, "networkInfoCurrent"
24245 + move-object v6, v5
24247 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24249 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z
24256 +.method public getNetworkInfo(I)Landroid/net/NetworkInfo;
24267 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24269 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24271 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24273 + move-result-object v1
24275 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24279 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24281 + move-result-object v8
24283 + new-instance v7, Landroid/net/NetworkInfo;
24285 + const-string v0, "MOBILE"
24287 + const-string v1, "CONNECTED"
24289 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24291 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24293 + if-eqz v0, :cond_31
24295 + if-eqz v8, :cond_31
24297 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24301 + if-nez v0, :cond_31
24303 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24305 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24307 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24310 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24312 + if-eqz v0, :cond_4d
24314 + if-eqz v8, :cond_4d
24316 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24320 + if-eqz v0, :cond_4d
24322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24324 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24326 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24328 + move-result-object v1
24330 + const-string/jumbo v4, "networkInfoCurrent"
24332 + move-object v6, v5
24334 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24340 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24342 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24344 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24346 + move-result-object v1
24348 + const-string/jumbo v4, "networkInfoCurrent"
24352 + move-object v6, v5
24354 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24356 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
24358 + move-result-object v7
24363 +.method public requestRouteToHost(II)Z
24374 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24376 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24378 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24380 + move-result-object v1
24382 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24386 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24388 + move-result-object v7
24390 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24392 + if-eqz v0, :cond_30
24394 + if-eqz v7, :cond_30
24396 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24400 + if-nez v0, :cond_30
24402 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24404 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24406 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24408 + move-result-object v1
24410 + const-string/jumbo v4, "networkInfoCurrent"
24412 + move-object v6, v5
24414 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24420 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24422 + if-eqz v0, :cond_4d
24424 + if-eqz v7, :cond_4d
24426 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24430 + if-eqz v0, :cond_4d
24432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24434 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24436 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24438 + move-result-object v1
24440 + const-string/jumbo v4, "networkInfoCurrent"
24442 + move-object v6, v5
24444 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24451 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24453 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24455 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24457 + move-result-object v1
24459 + const-string/jumbo v4, "networkInfoCurrent"
24463 + move-object v6, v5
24465 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24467 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHost(II)Z
24474 +.method public requestRouteToHostAddress(ILjava/net/InetAddress;)Z
24485 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24487 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24489 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24491 + move-result-object v1
24493 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24497 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24499 + move-result-object v7
24501 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24503 + if-eqz v0, :cond_30
24505 + if-eqz v7, :cond_30
24507 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24511 + if-nez v0, :cond_30
24513 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24515 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24517 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24519 + move-result-object v1
24521 + const-string/jumbo v4, "networkInfoCurrent"
24523 + move-object v6, v5
24525 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24531 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24533 + if-eqz v0, :cond_4d
24535 + if-eqz v7, :cond_4d
24537 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24541 + if-eqz v0, :cond_4d
24543 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24545 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24547 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24549 + move-result-object v1
24551 + const-string/jumbo v4, "networkInfoCurrent"
24553 + move-object v6, v5
24555 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24562 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24564 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24566 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24568 + move-result-object v1
24570 + const-string/jumbo v4, "networkInfoCurrent"
24574 + move-object v6, v5
24576 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24578 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
24585 +.method public setMobileDataEnabled(Z)V
24592 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24594 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24596 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24598 + move-result-object v1
24600 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24604 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24606 + move-result-object v7
24608 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24610 + if-eqz v0, :cond_2f
24612 + if-eqz v7, :cond_2f
24614 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
24618 + if-eqz v0, :cond_2f
24620 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24622 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24624 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24626 + move-result-object v1
24630 + const-string/jumbo v4, "switchconnectivity"
24632 + move-object v6, v5
24634 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24640 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24642 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24644 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24646 + move-result-object v1
24650 + const-string/jumbo v4, "switchconnectivity"
24652 + move-object v6, v5
24654 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24656 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V
24660 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali opd-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
24661 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
24662 +++ opd-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2013-01-08 23:29:43.616287638 -0600
24664 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
24665 +.super Ljava/lang/Object;
24666 +.source "PrivacyContentResolver.java"
24670 +.field private static final MMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms"
24672 +.field private static final MMS_SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms-sms"
24674 +.field private static final SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "sms"
24676 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
24678 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
24682 +.method public constructor <init>()V
24685 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
24690 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
24693 + new-instance v4, Ljava/lang/StringBuffer;
24695 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
24697 + if-eqz p0, :cond_2d
24699 + move-object v0, p0
24701 + array-length v3, v0
24706 + if-ge v2, v3, :cond_30
24708 + aget-object v1, v0, v2
24710 + new-instance v5, Ljava/lang/StringBuilder;
24712 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
24714 + const-string v6, "["
24716 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24718 + move-result-object v5
24720 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24722 + move-result-object v5
24724 + const-string v6, "]"
24726 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24728 + move-result-object v5
24730 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24732 + move-result-object v5
24734 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
24736 + add-int/lit8 v2, v2, 0x1
24741 + const-string v5, ""
24747 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
24749 + move-result-object v5
24754 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
24756 + .annotation system Ldalvik/annotation/Throws;
24758 + Landroid/os/RemoteException;
24762 + if-eqz p0, :cond_1db
24764 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24766 + if-nez v1, :cond_13
24768 + const-string/jumbo v1, "privacy"
24770 + move-object/from16 v0, p2
24772 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
24774 + move-result-object v1
24776 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
24778 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24781 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24783 + move-result-object v2
24785 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24789 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24791 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24793 + move-result-object v7
24795 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
24797 + move-result-object v9
24799 + const-string v15, "[real]"
24801 + move-object/from16 v13, p3
24803 + if-eqz v9, :cond_54
24805 + const-string v1, "contacts"
24807 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24811 + if-nez v1, :cond_3b
24813 + const-string v1, "com.android.contacts"
24815 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24819 + if-eqz v1, :cond_ab
24822 + if-eqz v7, :cond_54
24824 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
24830 + if-ne v1, v4, :cond_55
24832 + const-string v15, "[empty]"
24834 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24836 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24838 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24842 + const-string v5, "contacts"
24846 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24850 + return-object v13
24853 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
24859 + if-ne v1, v4, :cond_a1
24861 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
24863 + move-result-object v1
24865 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
24867 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
24869 + move-result-object v4
24871 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
24875 + if-eqz v1, :cond_a1
24879 + if-eqz p1, :cond_82
24881 + move-object/from16 v8, p1
24883 + array-length v12, v8
24888 + if-ge v10, v12, :cond_82
24890 + aget-object v16, v8, v10
24892 + const-string v1, "_id"
24894 + move-object/from16 v0, v16
24896 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24900 + if-eqz v1, :cond_93
24905 + if-nez v11, :cond_96
24907 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24909 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24912 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24916 + const-string v5, "contacts"
24920 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24925 + add-int/lit8 v10, v10, 0x1
24930 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
24932 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
24934 + move-result-object v1
24936 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
24938 + move-object v13, v14
24943 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24947 + const-string v5, "contacts"
24951 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24956 + const-string v1, "com.android.calendar"
24958 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24962 + if-eqz v1, :cond_d8
24964 + if-eqz v7, :cond_cd
24966 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
24972 + if-ne v1, v4, :cond_cd
24974 + const-string v15, "[empty]"
24976 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24978 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24980 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24984 + const-string v5, "calendar"
24988 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24993 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24997 + const-string v5, "calendar"
25001 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25006 + const-string/jumbo v1, "mms"
25008 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25012 + if-eqz v1, :cond_109
25014 + if-eqz v7, :cond_fd
25016 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25022 + if-ne v1, v4, :cond_fd
25024 + const-string v15, "[empty]"
25026 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25028 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25030 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25034 + const-string/jumbo v5, "mms"
25038 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25043 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25047 + const-string/jumbo v5, "mms"
25051 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25056 + const-string/jumbo v1, "sms"
25058 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25062 + if-eqz v1, :cond_13a
25064 + if-eqz v7, :cond_12e
25066 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25072 + if-ne v1, v4, :cond_12e
25074 + const-string v15, "[empty]"
25076 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25078 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25080 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25084 + const-string/jumbo v5, "sms"
25088 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25093 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25097 + const-string/jumbo v5, "sms"
25101 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25106 + const-string/jumbo v1, "mms-sms"
25108 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25112 + if-nez v1, :cond_14c
25114 + const-string/jumbo v1, "mms-sms-v2"
25116 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25120 + if-eqz v1, :cond_17b
25123 + if-eqz v7, :cond_16f
25125 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25131 + if-eq v1, v4, :cond_15c
25133 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25139 + if-ne v1, v4, :cond_16f
25142 + const-string v15, "[empty]"
25144 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25146 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25148 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25152 + const-string/jumbo v5, "mmsSms"
25156 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25161 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25165 + const-string/jumbo v5, "mmsSms"
25169 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25174 + const-string v1, "call_log"
25176 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25180 + if-eqz v1, :cond_1a9
25182 + if-eqz v7, :cond_19e
25184 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
25190 + if-ne v1, v4, :cond_19e
25192 + const-string v15, "[empty]"
25194 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25196 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25198 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25202 + const-string v5, "callLog"
25206 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25211 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25215 + const-string v5, "callLog"
25219 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25224 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
25226 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25228 + move-result-object v1
25230 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25234 + if-eqz v1, :cond_54
25236 + if-eqz v7, :cond_1d0
25238 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
25244 + if-ne v1, v4, :cond_1d0
25246 + const-string v15, "[empty]"
25248 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25250 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25252 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25256 + const-string v5, "bookmarks"
25260 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25265 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25269 + const-string v5, "bookmarks"
25273 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25278 + move-object/from16 v13, p3
25283 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;Z)Landroid/database/Cursor;
25285 + .annotation system Ldalvik/annotation/Throws;
25287 + Landroid/os/RemoteException;
25291 + if-eqz p0, :cond_dd
25293 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25295 + if-nez v1, :cond_13
25297 + const-string/jumbo v1, "privacy"
25299 + move-object/from16 v0, p2
25301 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
25303 + move-result-object v1
25305 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
25307 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25310 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25312 + move-result-object v2
25314 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25318 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25320 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25322 + move-result-object v7
25324 + invoke-virtual {p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25326 + move-result-object v9
25328 + const-string v14, "[real]"
25330 + move-object/from16 v13, p3
25332 + if-eqz v9, :cond_6d
25334 + const-string v1, "com.google.android.gsf.gservices"
25336 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25340 + if-eqz v1, :cond_6d
25342 + if-eqz v7, :cond_cb
25344 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
25348 + if-eqz v1, :cond_cb
25350 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
25354 + const/4 v11, -0x1
25360 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getCount()I
25364 + if-ge v12, v1, :cond_5d
25366 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->moveToNext()Z
25370 + move-object/from16 v0, p3
25372 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
25374 + move-result-object v1
25376 + const-string v4, "android_id"
25378 + invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25382 + if-eqz v1, :cond_6e
25384 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
25386 + .catchall {:try_start_41 .. :try_end_5c} :catchall_8b
25387 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_5c} :catch_71
25392 + move-object/from16 v0, p3
25394 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25398 + if-ne v11, v1, :cond_9e
25400 + const-string v1, "PrivacyContentResolver"
25402 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25404 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25408 + return-object v13
25411 + add-int/lit8 v12, v12, 0x1
25416 + move-exception v10
25419 + const-string v1, "PrivacyContentResolver"
25421 + const-string/jumbo v4, "something went wrong while getting blocked permission for android id"
25423 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
25425 + .catchall {:try_start_72 .. :try_end_7a} :catchall_8b
25427 + move-object/from16 v0, p3
25429 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25433 + if-ne v11, v1, :cond_9e
25435 + const-string v1, "PrivacyContentResolver"
25437 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25439 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25444 + move-exception v1
25446 + move-object/from16 v0, p3
25448 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25452 + if-ne v11, v4, :cond_9d
25454 + const-string v1, "PrivacyContentResolver"
25456 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25458 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25466 + const-string v1, "PrivacyContentResolver"
25468 + new-instance v4, Ljava/lang/StringBuilder;
25470 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
25472 + const-string/jumbo v5, "now blocking google access to android id and give fake cursor. forbidden_position: "
25474 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25476 + move-result-object v4
25478 + invoke-virtual {v4, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25480 + move-result-object v4
25482 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25484 + move-result-object v4
25486 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25488 + const-string v14, "[fake]"
25490 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25492 + move-object/from16 v0, p3
25494 + invoke-direct {v13, v0, v11}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;I)V
25496 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25500 + const-string/jumbo v5, "networkInfoSIM"
25504 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25509 + const-string v1, "PrivacyContentResolver"
25511 + const-string v4, "google is allowed to get real cursor"
25513 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25515 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25519 + const-string/jumbo v5, "networkInfoSIM"
25523 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25528 + move-object/from16 v13, p3
25532 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali opd-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
25533 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
25534 +++ opd-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2013-01-08 23:29:43.616287638 -0600
25536 +.class public Landroid/privacy/surrogate/PrivacyCursor;
25537 +.super Ljava/lang/Object;
25538 +.source "PrivacyCursor.java"
25541 +.implements Landroid/database/Cursor;
25545 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
25547 +.field private static final mask:[Ljava/lang/String;
25551 +.field private allowedIdMapping:[I
25553 +.field private allowedIds:[I
25555 +.field private blockedColumnAndroidID:I
25557 +.field private googleCursor:Z
25559 +.field private realCursor:Landroid/database/Cursor;
25563 +.method static constructor <clinit>()V
25566 + const/16 v0, 0x10
25568 + new-array v0, v0, [Ljava/lang/String;
25572 + const-string v2, "0"
25574 + aput-object v2, v0, v1
25578 + const-string v2, "1"
25580 + aput-object v2, v0, v1
25584 + const-string v2, "2"
25586 + aput-object v2, v0, v1
25590 + const-string v2, "3"
25592 + aput-object v2, v0, v1
25596 + const-string v2, "4"
25598 + aput-object v2, v0, v1
25602 + const-string v2, "5"
25604 + aput-object v2, v0, v1
25608 + const-string v2, "6"
25610 + aput-object v2, v0, v1
25614 + const-string v2, "7"
25616 + aput-object v2, v0, v1
25620 + const-string v2, "8"
25622 + aput-object v2, v0, v1
25626 + const-string v2, "9"
25628 + aput-object v2, v0, v1
25632 + const-string v2, "a"
25634 + aput-object v2, v0, v1
25638 + const-string v2, "b"
25640 + aput-object v2, v0, v1
25644 + const-string v2, "c"
25646 + aput-object v2, v0, v1
25650 + const-string v2, "d"
25652 + aput-object v2, v0, v1
25656 + const-string v2, "e"
25658 + aput-object v2, v0, v1
25662 + const-string v2, "f"
25664 + aput-object v2, v0, v1
25666 + sput-object v0, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
25671 +.method public constructor <init>()V
25674 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25679 +.method public constructor <init>(Landroid/database/Cursor;I)V
25682 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25684 + const/16 v0, -0xb
25686 + if-ne p2, v0, :cond_28
25690 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25693 + iput p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
25697 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
25699 + const-string v0, "PrivacyCursor"
25701 + new-instance v1, Ljava/lang/StringBuilder;
25703 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25705 + const-string v2, "constructor is ready for google cursor! forbidden_position: "
25707 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25709 + move-result-object v1
25711 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25713 + move-result-object v1
25715 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25717 + move-result-object v1
25719 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25724 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25729 +.method public constructor <init>(Landroid/database/Cursor;[I)V
25732 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25734 + if-eqz p2, :cond_8
25736 + array-length v2, p2
25738 + if-nez v2, :cond_9
25744 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25746 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
25748 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25750 + if-eqz v2, :cond_3f
25752 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25754 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
25758 + array-length v2, p2
25760 + new-array v2, v2, [I
25762 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25768 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25770 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
25774 + if-eqz v2, :cond_3a
25776 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25778 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
25782 + if-eqz v2, :cond_1d
25784 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25786 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25788 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
25794 + add-int/lit8 v1, v1, 0x1
25799 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25801 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
25807 +.method private getContactId(Landroid/database/Cursor;)I
25810 + const-string v2, "_id"
25812 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
25820 + if-eq v0, v2, :cond_e
25822 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
25830 +.method private getFakeID()Ljava/lang/String;
25834 + new-instance v3, Ljava/util/Random;
25836 + invoke-direct {v3}, Ljava/util/Random;-><init>()V
25838 + const-string v2, ""
25843 + const/16 v4, 0x10
25845 + if-ge v1, v4, :cond_34
25847 + new-instance v4, Ljava/lang/StringBuilder;
25849 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
25851 + invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25853 + move-result-object v4
25855 + sget-object v5, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
25859 + invoke-virtual {v3, v6}, Ljava/util/Random;->nextInt(I)I
25863 + aget-object v5, v5, v6
25865 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25867 + move-result-object v4
25869 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25871 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_26} :catch_2a
25873 + move-result-object v2
25875 + add-int/lit8 v1, v1, 0x1
25880 + move-exception v0
25882 + const-string v4, "PrivacyCursor"
25884 + const-string/jumbo v5, "something went wrong with creating fake ID"
25886 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
25894 +.method private getMappedPos(I)I
25900 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25902 + array-length v1, v1
25904 + if-ge v0, v1, :cond_10
25906 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25910 + if-ne v1, p1, :cond_d
25916 + add-int/lit8 v0, v0, 0x1
25926 +.method private isAllowed(I)Z
25931 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
25933 + array-length v3, v0
25938 + if-ge v2, v3, :cond_c
25942 + if-ne p1, v1, :cond_d
25950 + add-int/lit8 v2, v2, 0x1
25955 +.method private isAllowed(Landroid/database/Cursor;)Z
25958 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
25962 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
25971 +.method public close()V
25974 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25976 + if-eqz v0, :cond_9
25978 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25980 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
25986 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
25989 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25991 + if-eqz v0, :cond_9
25993 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25995 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
26001 +.method public deactivate()V
26004 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26006 + if-eqz v0, :cond_9
26008 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26010 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
26016 +.method public getBlob(I)[B
26019 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26021 + if-eqz v0, :cond_b
26023 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26025 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
26027 + move-result-object v0
26035 + new-array v0, v0, [B
26040 +.method public getColumnCount()I
26043 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26045 + if-eqz v0, :cond_b
26047 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26049 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
26062 +.method public getColumnIndex(Ljava/lang/String;)I
26065 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26067 + if-eqz v0, :cond_b
26069 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26071 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
26084 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
26086 + .annotation system Ldalvik/annotation/Throws;
26088 + Ljava/lang/IllegalArgumentException;
26092 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26094 + if-eqz v0, :cond_b
26096 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26098 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
26111 +.method public getColumnName(I)Ljava/lang/String;
26114 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26116 + if-eqz v0, :cond_b
26118 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26120 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
26122 + move-result-object v0
26128 + const-string v0, ""
26133 +.method public getColumnNames()[Ljava/lang/String;
26136 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26138 + if-eqz v0, :cond_b
26140 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26142 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
26144 + move-result-object v0
26152 + new-array v0, v0, [Ljava/lang/String;
26156 + const-string v2, ""
26158 + aput-object v2, v0, v1
26163 +.method public getCount()I
26166 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26168 + if-eqz v0, :cond_2b
26170 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26172 + if-eqz v0, :cond_2b
26174 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26176 + if-nez v0, :cond_2b
26178 + const-string v0, "PrivacyCursor"
26180 + new-instance v1, Ljava/lang/StringBuilder;
26182 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
26184 + const-string v2, "getCount: "
26186 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26188 + move-result-object v1
26190 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26192 + array-length v2, v2
26194 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26196 + move-result-object v1
26198 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26200 + move-result-object v1
26202 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26204 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26206 + array-length v0, v0
26212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26214 + if-eqz v0, :cond_36
26216 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26218 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
26230 +.method public getDouble(I)D
26233 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26235 + if-eqz v0, :cond_b
26237 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26239 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
26241 + move-result-wide v0
26247 + const-wide/16 v0, 0x0
26252 +.method public getExtras()Landroid/os/Bundle;
26255 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26257 + if-eqz v0, :cond_b
26259 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26261 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
26263 + move-result-object v0
26269 + new-instance v0, Landroid/os/Bundle;
26271 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
26276 +.method public getFloat(I)F
26279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26281 + if-eqz v0, :cond_b
26283 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26285 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
26298 +.method public getInt(I)I
26301 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26303 + if-eqz v1, :cond_b
26305 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26307 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
26320 +.method public getLong(I)J
26323 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26325 + if-eqz v0, :cond_b
26327 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26329 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
26331 + move-result-wide v0
26337 + const-wide/16 v0, 0x0
26342 +.method public getPosition()I
26345 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26347 + if-eqz v1, :cond_3f
26349 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26351 + if-eqz v1, :cond_3f
26353 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26355 + if-nez v1, :cond_3f
26357 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26359 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26363 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
26367 + const-string v1, "PrivacyCursor"
26369 + new-instance v2, Ljava/lang/StringBuilder;
26371 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
26373 + const-string v3, "getPosition - mapped position: "
26375 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26377 + move-result-object v2
26379 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26381 + move-result-object v2
26383 + const-string v3, " real position: "
26385 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26387 + move-result-object v2
26389 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26391 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
26395 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26397 + move-result-object v2
26399 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26401 + move-result-object v2
26403 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26409 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26411 + if-eqz v1, :cond_4a
26413 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26415 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26427 +.method public getShort(I)S
26430 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26432 + if-eqz v0, :cond_b
26434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26436 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
26449 +.method public getString(I)Ljava/lang/String;
26452 + iget-boolean v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26454 + if-eqz v4, :cond_63
26458 + if-ne p1, v4, :cond_63
26460 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26462 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
26466 + iget v5, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
26468 + if-ne v4, v5, :cond_63
26470 + const-string v4, "PrivacyCursor"
26472 + const-string v5, "google tries to get android_id with getString()"
26474 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26476 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyCursor;->getFakeID()Ljava/lang/String;
26478 + move-result-object v2
26480 + if-eqz v2, :cond_58
26483 + new-instance v3, Ljava/math/BigInteger;
26485 + const/16 v4, 0x10
26487 + invoke-direct {v3, v2, v4}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
26489 + invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
26491 + move-result-object v1
26493 + const-string v4, "PrivacyCursor"
26495 + new-instance v5, Ljava/lang/StringBuilder;
26497 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
26499 + const-string/jumbo v6, "returned : "
26501 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26503 + move-result-object v5
26505 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26507 + move-result-object v5
26509 + const-string v6, "(String) as fake android id"
26511 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26513 + move-result-object v5
26515 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26517 + move-result-object v5
26519 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26521 + .catch Ljava/lang/Exception; {:try_start_1e .. :try_end_48} :catch_49
26527 + move-exception v0
26529 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
26531 + const-string v4, "PrivacyCursor"
26533 + const-string/jumbo v5, "returned \"\" as android_id"
26535 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26537 + const-string v1, ""
26542 + const-string v4, "PrivacyCursor"
26544 + const-string/jumbo v5, "returned \"\" as android_id"
26546 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26548 + const-string v1, ""
26553 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26555 + if-eqz v4, :cond_6e
26557 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26559 + invoke-interface {v4, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
26561 + move-result-object v1
26566 + const-string v1, ""
26571 +.method public getType(I)I
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;->getType(I)I
26588 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26595 +.method public getWantsAllOnMoveCalls()Z
26598 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26600 + if-eqz v0, :cond_b
26602 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26604 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
26617 +.method public isAfterLast()Z
26620 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26622 + if-eqz v0, :cond_b
26624 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26626 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
26639 +.method public isBeforeFirst()Z
26642 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26644 + if-eqz v0, :cond_b
26646 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26648 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
26661 +.method public isClosed()Z
26664 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26666 + if-eqz v0, :cond_b
26668 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26670 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
26683 +.method public isFirst()Z
26688 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26690 + if-eqz v1, :cond_1b
26692 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26694 + if-eqz v1, :cond_1b
26696 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26698 + if-nez v1, :cond_1b
26700 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26702 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26706 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26710 + if-ne v1, v2, :cond_1a
26719 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26721 + if-eqz v1, :cond_1a
26723 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26725 + invoke-interface {v0}, Landroid/database/Cursor;->isFirst()Z
26732 +.method public isLast()Z
26735 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26737 + if-eqz v0, :cond_1f
26739 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26741 + if-eqz v0, :cond_1f
26743 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26745 + if-nez v0, :cond_1f
26747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26749 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
26753 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26755 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26757 + array-length v2, v2
26759 + add-int/lit8 v2, v2, -0x1
26763 + if-ne v0, v1, :cond_2a
26771 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26773 + if-eqz v0, :cond_2a
26775 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26777 + invoke-interface {v0}, Landroid/database/Cursor;->isLast()Z
26789 +.method public isNull(I)Z
26792 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26794 + if-eqz v0, :cond_b
26796 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26798 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
26811 +.method public move(I)Z
26816 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26818 + if-eqz v3, :cond_3e
26820 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26822 + if-eqz v3, :cond_3e
26824 + iget-boolean v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26826 + if-nez v3, :cond_3e
26828 + const-string v3, "PrivacyCursor"
26830 + new-instance v4, Ljava/lang/StringBuilder;
26832 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
26834 + const-string/jumbo v5, "move - offset: "
26836 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26838 + move-result-object v4
26840 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26842 + move-result-object v4
26844 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26846 + move-result-object v4
26848 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26851 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26853 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26855 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
26859 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
26863 + add-int/2addr v4, p1
26867 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26869 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
26871 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_26 .. :try_end_3a} :catch_3c
26880 + move-exception v0
26885 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26887 + if-eqz v3, :cond_3b
26889 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26891 + invoke-interface {v3, p1}, Landroid/database/Cursor;->move(I)Z
26896 +.method public moveToFirst()Z
26901 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26903 + if-eqz v1, :cond_18
26905 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26907 + if-eqz v1, :cond_18
26909 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26911 + if-nez v1, :cond_18
26913 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26915 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26919 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
26928 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26930 + if-eqz v1, :cond_17
26932 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26934 + invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
26941 +.method public moveToLast()Z
26944 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26946 + if-eqz v1, :cond_1c
26948 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26950 + if-eqz v1, :cond_1c
26952 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26954 + if-nez v1, :cond_1c
26956 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26958 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26960 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26962 + array-length v3, v3
26964 + add-int/lit8 v3, v3, -0x1
26968 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
26976 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26978 + if-eqz v1, :cond_27
26980 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26982 + invoke-interface {v1}, Landroid/database/Cursor;->moveToLast()Z
26994 +.method public moveToNext()Z
26999 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27001 + if-eqz v1, :cond_29
27003 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27005 + if-eqz v1, :cond_29
27007 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27009 + if-nez v1, :cond_29
27011 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27013 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27017 + if-nez v1, :cond_16
27029 + if-ne v0, v1, :cond_15
27031 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27033 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27037 + if-nez v1, :cond_15
27039 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27041 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27048 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27050 + if-eqz v1, :cond_15
27052 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27054 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
27061 +.method public moveToPosition(I)Z
27066 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27068 + if-eqz v2, :cond_1a
27070 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27072 + if-eqz v2, :cond_1a
27074 + iget-boolean v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27076 + if-nez v2, :cond_1a
27079 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27081 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27085 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
27087 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_d .. :try_end_16} :catch_18
27096 + move-exception v0
27101 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27103 + if-eqz v2, :cond_17
27105 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27107 + invoke-interface {v2, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
27114 +.method public moveToPrevious()Z
27119 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27121 + if-eqz v1, :cond_29
27123 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27125 + if-eqz v1, :cond_29
27127 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27129 + if-nez v1, :cond_29
27131 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27133 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27137 + if-nez v1, :cond_16
27149 + if-ne v0, v1, :cond_15
27151 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27153 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27157 + if-nez v1, :cond_15
27159 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27161 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27168 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27170 + if-eqz v1, :cond_15
27172 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27174 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27181 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
27184 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27186 + if-eqz v0, :cond_9
27188 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27190 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
27196 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
27199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27201 + if-eqz v0, :cond_9
27203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27205 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
27211 +.method public requery()Z
27214 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27216 + if-eqz v0, :cond_b
27218 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27220 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
27233 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27236 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27238 + if-eqz v0, :cond_b
27240 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27242 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27244 + move-result-object v0
27250 + new-instance v0, Landroid/os/Bundle;
27252 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
27257 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27260 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27262 + if-eqz v0, :cond_9
27264 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27266 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27272 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
27275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27277 + if-eqz v0, :cond_9
27279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27281 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
27287 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27290 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27292 + if-eqz v0, :cond_9
27294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27296 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27301 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
27302 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
27303 +++ opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2013-01-08 23:29:43.616287638 -0600
27305 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27306 +.super Ljava/lang/Thread;
27307 +.source "PrivacyLocationManager.java"
27311 +.annotation system Ldalvik/annotation/EnclosingClass;
27312 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
27315 +.annotation system Ldalvik/annotation/InnerClass;
27316 + accessFlags = 0x2
27317 + name = "PrivacyLocationUpdater"
27322 +.field private intent:Landroid/app/PendingIntent;
27324 +.field private latitude:D
27326 +.field private listener:Landroid/location/LocationListener;
27328 +.field private longitude:D
27330 +.field private provider:Ljava/lang/String;
27332 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
27336 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
27339 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
27341 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
27343 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27345 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27347 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27349 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
27351 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
27358 +.method public run()V
27361 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27363 + if-eqz v3, :cond_43
27365 + new-instance v2, Landroid/location/Location;
27367 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27369 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
27371 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
27373 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
27375 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
27377 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
27384 + if-ge v1, v3, :cond_43
27386 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27388 + if-eqz v3, :cond_34
27390 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27392 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
27397 + invoke-static {}, Ljava/lang/Math;->random()D
27399 + move-result-wide v3
27401 + const-wide v5, 0x408f400000000000L
27403 + mul-double/2addr v3, v5
27405 + double-to-int v3, v3
27407 + int-to-long v3, v3
27409 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
27411 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
27414 + add-int/lit8 v1, v1, 0x1
27419 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27421 + if-eqz v3, :cond_22
27423 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27425 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
27430 + move-exception v0
27432 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
27439 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
27440 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
27441 +++ opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2013-01-08 23:29:43.620287659 -0600
27443 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
27444 +.super Landroid/location/LocationManager;
27445 +.source "PrivacyLocationManager.java"
27449 +.annotation system Ldalvik/annotation/MemberClasses;
27451 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27457 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
27459 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
27463 +.field private context:Landroid/content/Context;
27465 +.field private lock:Ljava/lang/Object;
27467 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
27471 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
27474 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
27476 + new-instance v0, Ljava/lang/Object;
27478 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
27480 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
27482 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
27484 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
27486 + const-string/jumbo v1, "privacy"
27488 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
27490 + move-result-object v1
27492 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
27494 + move-result-object v1
27496 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
27498 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27503 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27508 + if-nez p1, :cond_5
27516 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
27522 + if-eq v0, v1, :cond_24
27524 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
27528 + if-eq v0, v2, :cond_24
27530 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
27534 + if-eq v0, v2, :cond_24
27536 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
27540 + if-eq v0, v2, :cond_24
27542 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
27546 + if-ne v0, v2, :cond_2b
27549 + const-string v0, "gps"
27551 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27558 + const-string/jumbo v0, "network"
27560 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27567 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27570 + move-object/from16 v0, p0
27572 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
27574 + move-object/from16 v19, v0
27576 + monitor-enter v19
27579 + move-object/from16 v0, p0
27581 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
27583 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
27585 + move-result-object v2
27587 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27591 + move-object/from16 v0, p0
27593 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27595 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
27597 + move-result-object v7
27599 + const/16 v18, 0x0
27601 + if-eqz v7, :cond_239
27603 + const-string v1, "gps"
27605 + move-object/from16 v0, p1
27607 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
27611 + if-eqz v1, :cond_111
27613 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
27617 + packed-switch v1, :pswitch_data_25e
27626 + move-object/from16 v0, p0
27628 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27632 + const-string v5, "locationGPS"
27636 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27641 + move-exception v1
27645 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
27650 + if-eqz p3, :cond_46
27653 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
27656 + const/16 v18, 0x1
27658 + move-object/from16 v0, p0
27660 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27664 + const-string v5, "locationGPS"
27668 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27670 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
27676 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27678 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27680 + move-result-object v1
27682 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27684 + move-result-wide v13
27686 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27688 + move-result-object v1
27690 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27692 + move-result-wide v15
27694 + move-object/from16 v9, p0
27696 + move-object/from16 v10, p1
27698 + move-object/from16 v11, p2
27700 + move-object/from16 v12, p3
27702 + 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
27704 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27706 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
27707 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
27709 + const/16 v18, 0x1
27713 + move-object/from16 v0, p0
27715 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27719 + const-string v5, "locationGPS"
27721 + new-instance v6, Ljava/lang/StringBuilder;
27723 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27725 + const-string v8, "Lat: "
27727 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27729 + move-result-object v6
27731 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27733 + move-result-object v8
27735 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27737 + move-result-object v6
27739 + const-string v8, " Lon: "
27741 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27743 + move-result-object v6
27745 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27747 + move-result-object v8
27749 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27751 + move-result-object v6
27753 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27755 + move-result-object v6
27757 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27762 + move-exception v17
27764 + const-string v1, "PrivacyLocationManager"
27766 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
27768 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27770 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
27772 + const/16 v18, 0x1
27778 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27780 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27782 + move-result-object v1
27784 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27786 + move-result-wide v13
27788 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27790 + move-result-object v1
27792 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27794 + move-result-wide v15
27796 + move-object/from16 v9, p0
27798 + move-object/from16 v10, p1
27800 + move-object/from16 v11, p2
27802 + move-object/from16 v12, p3
27804 + 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
27806 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27808 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
27809 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
27811 + const/16 v18, 0x1
27815 + move-object/from16 v0, p0
27817 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27821 + const-string v5, "locationGPS"
27823 + new-instance v6, Ljava/lang/StringBuilder;
27825 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27827 + const-string v8, "Lat: "
27829 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27831 + move-result-object v6
27833 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27835 + move-result-object v8
27837 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27839 + move-result-object v6
27841 + const-string v8, " Lon: "
27843 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27845 + move-result-object v6
27847 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27849 + move-result-object v8
27851 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27853 + move-result-object v6
27855 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27857 + move-result-object v6
27859 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27864 + move-exception v17
27866 + const-string v1, "PrivacyLocationManager"
27868 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
27870 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27872 + const/16 v18, 0x1
27877 + const-string/jumbo v1, "network"
27879 + move-object/from16 v0, p1
27881 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
27885 + if-eqz v1, :cond_204
27887 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
27891 + packed-switch v1, :pswitch_data_26a
27896 + move-object/from16 v0, p0
27898 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27902 + const-string v5, "locationNetwork"
27906 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27911 + if-eqz p3, :cond_137
27913 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
27916 + const/16 v18, 0x1
27918 + move-object/from16 v0, p0
27920 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27924 + const-string v5, "locationNetwork"
27928 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27930 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
27936 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27938 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
27940 + move-result-object v1
27942 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27944 + move-result-wide v13
27946 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
27948 + move-result-object v1
27950 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27952 + move-result-wide v15
27954 + move-object/from16 v9, p0
27956 + move-object/from16 v10, p1
27958 + move-object/from16 v11, p2
27960 + move-object/from16 v12, p3
27962 + 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
27964 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27966 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
27967 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
27969 + const/16 v18, 0x1
27973 + move-object/from16 v0, p0
27975 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27979 + const-string v5, "locationNetwork"
27981 + new-instance v6, Ljava/lang/StringBuilder;
27983 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27985 + const-string v8, "Lat: "
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;->getLocationNetworkLat()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 + const-string v8, " Lon: "
28001 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28003 + move-result-object v6
28005 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28007 + move-result-object v8
28009 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28011 + move-result-object v6
28013 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28015 + move-result-object v6
28017 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28022 + move-exception v17
28024 + const-string v1, "PrivacyLocationManager"
28026 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28028 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28030 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
28032 + const/16 v18, 0x1
28038 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
28040 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28042 + move-result-object v1
28044 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28046 + move-result-wide v13
28048 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28050 + move-result-object v1
28052 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28054 + move-result-wide v15
28056 + move-object/from16 v9, p0
28058 + move-object/from16 v10, p1
28060 + move-object/from16 v11, p2
28062 + move-object/from16 v12, p3
28064 + 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
28066 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28068 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
28069 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
28071 + const/16 v18, 0x1
28075 + move-object/from16 v0, p0
28077 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28081 + const-string v5, "locationNetwork"
28083 + new-instance v6, Ljava/lang/StringBuilder;
28085 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28087 + const-string v8, "Lat: "
28089 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28091 + move-result-object v6
28093 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28095 + move-result-object v8
28097 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28099 + move-result-object v6
28101 + const-string v8, " Lon: "
28103 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28105 + move-result-object v6
28107 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28109 + move-result-object v8
28111 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28113 + move-result-object v6
28115 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28117 + move-result-object v6
28119 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28124 + move-exception v17
28126 + const-string v1, "PrivacyLocationManager"
28128 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28130 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28132 + const/16 v18, 0x1
28137 + const-string/jumbo v1, "passive"
28139 + move-object/from16 v0, p1
28141 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28145 + if-eqz v1, :cond_30
28147 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28151 + if-nez v1, :cond_22a
28153 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28157 + if-nez v1, :cond_22a
28159 + const/16 v18, 0x0
28161 + move-object/from16 v0, p0
28163 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28167 + const-string v5, "locationGPS"
28171 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28176 + const/16 v18, 0x1
28178 + move-object/from16 v0, p0
28180 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28184 + const-string v5, "locationGPS"
28188 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28193 + const-string/jumbo v1, "network"
28195 + move-object/from16 v0, p1
28197 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28201 + if-eqz v1, :cond_251
28203 + move-object/from16 v0, p0
28205 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28209 + const-string v5, "locationNetwork"
28213 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28218 + move-object/from16 v0, p0
28220 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28224 + const-string v5, "locationGPS"
28228 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28230 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
28234 + :pswitch_data_25e
28235 + .packed-switch 0x0
28240 + .end packed-switch
28242 + :pswitch_data_26a
28243 + .packed-switch 0x0
28248 + .end packed-switch
28253 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28260 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28262 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28264 + move-result-object v1
28266 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28270 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28272 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28274 + move-result-object v6
28276 + if-eqz v6, :cond_24
28278 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28282 + if-eqz v0, :cond_24
28284 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28288 + const-string v4, "locationGPS"
28290 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28298 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28300 + const-string v4, "locationGPS"
28304 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28306 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28313 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28326 + if-nez p1, :cond_c
28328 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28330 + move-result-object v7
28337 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28339 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28341 + move-result-object v1
28343 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28347 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28349 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28351 + move-result-object v6
28355 + if-eqz v6, :cond_22c
28357 + const-string v0, "gps"
28359 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28363 + if-eqz v0, :cond_ff
28365 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28369 + packed-switch v0, :pswitch_data_29a
28374 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28376 + move-result-object v7
28378 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28380 + const-string v4, "locationGPS"
28382 + if-eqz v7, :cond_5e
28384 + new-instance v5, Ljava/lang/StringBuilder;
28386 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28388 + const-string v8, "Lat: "
28390 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28392 + move-result-object v5
28394 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28396 + move-result-wide v8
28398 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28400 + move-result-object v5
28402 + const-string v8, " Lon: "
28404 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28406 + move-result-object v5
28408 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28410 + move-result-wide v8
28412 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28414 + move-result-object v5
28416 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28418 + move-result-object v5
28421 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28426 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28428 + const-string v4, "locationGPS"
28432 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28437 + new-instance v7, Landroid/location/Location;
28439 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28441 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28443 + move-result-object v0
28445 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28447 + move-result-wide v3
28449 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28451 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28453 + move-result-object v0
28455 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28457 + move-result-wide v3
28459 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28463 + const-string v4, "locationGPS"
28465 + new-instance v3, Ljava/lang/StringBuilder;
28467 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28469 + const-string v5, "Lat: "
28471 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28473 + move-result-object v3
28475 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28477 + move-result-wide v8
28479 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28481 + move-result-object v3
28483 + const-string v5, " Lon: "
28485 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28487 + move-result-object v3
28489 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28491 + move-result-wide v8
28493 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28495 + move-result-object v3
28497 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28499 + move-result-object v5
28503 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28508 + new-instance v7, Landroid/location/Location;
28510 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28512 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28514 + move-result-object v0
28516 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28518 + move-result-wide v3
28520 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28522 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28524 + move-result-object v0
28526 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28528 + move-result-wide v3
28530 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28534 + const-string v4, "locationGPS"
28536 + new-instance v3, Ljava/lang/StringBuilder;
28538 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28540 + const-string v5, "Lat: "
28542 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28544 + move-result-object v3
28546 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28548 + move-result-wide v8
28550 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28552 + move-result-object v3
28554 + const-string v5, " Lon: "
28556 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28558 + move-result-object v3
28560 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28562 + move-result-wide v8
28564 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28566 + move-result-object v3
28568 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28570 + move-result-object v5
28574 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28579 + const-string/jumbo v0, "network"
28581 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28585 + if-eqz v0, :cond_1e3
28587 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28591 + packed-switch v0, :pswitch_data_2a6
28596 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28598 + move-result-object v7
28600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28602 + const-string v4, "locationNetwork"
28604 + if-eqz v7, :cond_140
28606 + new-instance v5, Ljava/lang/StringBuilder;
28608 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28610 + const-string v8, "Lat: "
28612 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28614 + move-result-object v5
28616 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28618 + move-result-wide v8
28620 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28622 + move-result-object v5
28624 + const-string v8, " Lon: "
28626 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28628 + move-result-object v5
28630 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28632 + move-result-wide v8
28634 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28636 + move-result-object v5
28638 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28640 + move-result-object v5
28643 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28648 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28650 + const-string v4, "locationNetwork"
28654 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28659 + new-instance v7, Landroid/location/Location;
28661 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28663 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28665 + move-result-object v0
28667 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28669 + move-result-wide v3
28671 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28673 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28675 + move-result-object v0
28677 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28679 + move-result-wide v3
28681 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28683 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28685 + const-string v4, "locationNetwork"
28687 + new-instance v3, Ljava/lang/StringBuilder;
28689 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28691 + const-string v5, "Lat: "
28693 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28695 + move-result-object v3
28697 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28699 + move-result-wide v8
28701 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28703 + move-result-object v3
28705 + const-string v5, " Lon: "
28707 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28709 + move-result-object v3
28711 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28713 + move-result-wide v8
28715 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28717 + move-result-object v3
28719 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28721 + move-result-object v5
28725 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28730 + new-instance v7, Landroid/location/Location;
28732 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28734 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28736 + move-result-object v0
28738 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28740 + move-result-wide v3
28742 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28744 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28746 + move-result-object v0
28748 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28750 + move-result-wide v3
28752 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28754 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28756 + const-string v4, "locationNetwork"
28758 + new-instance v3, Ljava/lang/StringBuilder;
28760 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28762 + const-string v5, "Lat: "
28764 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28766 + move-result-object v3
28768 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28770 + move-result-wide v8
28772 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28774 + move-result-object v3
28776 + const-string v5, " Lon: "
28778 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28780 + move-result-object v3
28782 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28784 + move-result-wide v8
28786 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28788 + move-result-object v3
28790 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28792 + move-result-object v5
28796 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28801 + const-string/jumbo v0, "passive"
28803 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28807 + if-eqz v0, :cond_b
28809 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28813 + if-nez v0, :cond_b
28815 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28819 + if-nez v0, :cond_b
28821 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28823 + move-result-object v7
28825 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28827 + const-string v4, "locationGPS"
28829 + if-eqz v7, :cond_227
28831 + new-instance v5, Ljava/lang/StringBuilder;
28833 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28835 + const-string v8, "Lat: "
28837 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28839 + move-result-object v5
28841 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28843 + move-result-wide v8
28845 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28847 + move-result-object v5
28849 + const-string v8, " Lon: "
28851 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28853 + move-result-object v5
28855 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28857 + move-result-wide v8
28859 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28861 + move-result-object v5
28863 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28865 + move-result-object v5
28868 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28873 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28875 + move-result-object v7
28877 + const-string/jumbo v0, "network"
28879 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28883 + if-eqz v0, :cond_269
28885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28887 + const-string v4, "locationNetwork"
28889 + if-eqz v7, :cond_264
28891 + new-instance v5, Ljava/lang/StringBuilder;
28893 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28895 + const-string v8, "Lat: "
28897 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28899 + move-result-object v5
28901 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28903 + move-result-wide v8
28905 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28907 + move-result-object v5
28909 + const-string v8, " Lon: "
28911 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28913 + move-result-object v5
28915 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28917 + move-result-wide v8
28919 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28921 + move-result-object v5
28923 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28925 + move-result-object v5
28928 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28933 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28935 + const-string v4, "locationGPS"
28937 + if-eqz v7, :cond_294
28939 + new-instance v5, Ljava/lang/StringBuilder;
28941 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28943 + const-string v8, "Lat: "
28945 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28947 + move-result-object v5
28949 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28951 + move-result-wide v8
28953 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28955 + move-result-object v5
28957 + const-string v8, " Lon: "
28959 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28961 + move-result-object v5
28963 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28965 + move-result-wide v8
28967 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28969 + move-result-object v5
28971 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28973 + move-result-object v5
28976 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28982 + :pswitch_data_29a
28983 + .packed-switch 0x0
28988 + .end packed-switch
28990 + :pswitch_data_2a6
28991 + .packed-switch 0x0
28996 + .end packed-switch
28999 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29002 + if-nez p1, :cond_7
29004 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29006 + move-result-object v0
29013 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29015 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29017 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29019 + move-result-object v3
29021 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29025 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29027 + move-result-object v1
29031 + if-eqz v1, :cond_5f
29033 + const-string v2, "gps"
29035 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29039 + if-eqz v2, :cond_2f
29041 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29045 + packed-switch v2, :pswitch_data_64
29051 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29053 + move-result-object v0
29058 + const-string/jumbo v2, "network"
29060 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29064 + if-eqz v2, :cond_45
29066 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29070 + packed-switch v2, :pswitch_data_70
29076 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29078 + move-result-object v0
29083 + const-string/jumbo v2, "passive"
29085 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29089 + if-eqz v2, :cond_6
29091 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29095 + if-eqz v2, :cond_5a
29097 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29101 + if-nez v2, :cond_6
29104 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29106 + move-result-object v0
29111 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29113 + move-result-object v0
29118 + .packed-switch 0x0
29123 + .end packed-switch
29126 + .packed-switch 0x0
29131 + .end packed-switch
29134 +.method public isProviderEnabled(Ljava/lang/String;)Z
29137 + if-nez p1, :cond_7
29139 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29149 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29151 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29153 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29155 + move-result-object v3
29157 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29161 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29163 + move-result-object v1
29167 + if-eqz v1, :cond_65
29169 + const-string v2, "gps"
29171 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29175 + if-eqz v2, :cond_31
29177 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29181 + packed-switch v2, :pswitch_data_6a
29186 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29198 + const-string/jumbo v2, "network"
29200 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29204 + if-eqz v2, :cond_49
29206 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29210 + packed-switch v2, :pswitch_data_76
29215 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
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_5e
29241 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29245 + if-nez v2, :cond_63
29248 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29260 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29267 + .packed-switch 0x0
29272 + .end packed-switch
29275 + .packed-switch 0x0
29280 + .end packed-switch
29283 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29286 + if-eqz p4, :cond_4
29288 + if-nez p5, :cond_8
29291 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29300 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29304 + if-nez v0, :cond_7
29306 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29311 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29314 + if-eqz p4, :cond_4
29316 + if-nez p5, :cond_8
29319 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29328 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29332 + if-nez v0, :cond_7
29334 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29339 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29342 + if-eqz p1, :cond_4
29344 + if-nez p5, :cond_8
29347 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29356 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29360 + if-nez v0, :cond_7
29362 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29367 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29370 + if-eqz p1, :cond_4
29372 + if-nez p5, :cond_8
29375 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29384 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29388 + if-nez v0, :cond_7
29390 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29395 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29398 + if-eqz p1, :cond_4
29400 + if-nez p5, :cond_8
29403 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29412 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29416 + if-nez v0, :cond_7
29418 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29423 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29426 + if-eqz p1, :cond_4
29428 + if-nez p2, :cond_8
29431 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29440 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29444 + if-nez v0, :cond_7
29446 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29451 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29454 + if-eqz p1, :cond_4
29456 + if-nez p2, :cond_8
29459 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29468 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29472 + if-nez v0, :cond_7
29474 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29479 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29482 + if-eqz p1, :cond_4
29484 + if-nez p2, :cond_8
29487 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29496 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29500 + if-nez v0, :cond_7
29502 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29507 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29510 + if-eqz p1, :cond_4
29512 + if-nez p2, :cond_8
29515 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29524 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29528 + if-nez v0, :cond_7
29530 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29534 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
29535 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
29536 +++ opd-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2013-01-08 23:29:43.624287686 -0600
29538 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
29539 +.super Landroid/telephony/TelephonyManager;
29540 +.source "PrivacyTelephonyManager.java"
29544 +.field private static final NETWORK_TYPES:[I = null
29546 +.field private static final PHONE_TYPES:[I = null
29548 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
29552 +.field private context:Landroid/content/Context;
29554 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
29558 +.method static constructor <clinit>()V
29563 + new-array v0, v0, [I
29565 + fill-array-data v0, :array_12
29567 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
29569 + const/16 v0, 0x10
29571 + new-array v0, v0, [I
29573 + fill-array-data v0, :array_1e
29575 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
29581 + 0x0t 0x0t 0x0t 0x0t
29582 + 0x1t 0x0t 0x0t 0x0t
29583 + 0x2t 0x0t 0x0t 0x0t
29584 + 0x3t 0x0t 0x0t 0x0t
29589 + 0x0t 0x0t 0x0t 0x0t
29590 + 0x1t 0x0t 0x0t 0x0t
29591 + 0x2t 0x0t 0x0t 0x0t
29592 + 0x3t 0x0t 0x0t 0x0t
29593 + 0x4t 0x0t 0x0t 0x0t
29594 + 0x5t 0x0t 0x0t 0x0t
29595 + 0x6t 0x0t 0x0t 0x0t
29596 + 0x7t 0x0t 0x0t 0x0t
29597 + 0x8t 0x0t 0x0t 0x0t
29598 + 0x9t 0x0t 0x0t 0x0t
29599 + 0xat 0x0t 0x0t 0x0t
29600 + 0xbt 0x0t 0x0t 0x0t
29601 + 0xct 0x0t 0x0t 0x0t
29602 + 0xdt 0x0t 0x0t 0x0t
29603 + 0xet 0x0t 0x0t 0x0t
29604 + 0xft 0x0t 0x0t 0x0t
29608 +.method public constructor <init>(Landroid/content/Context;)V
29611 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
29613 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29615 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
29617 + const-string/jumbo v1, "privacy"
29619 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
29621 + move-result-object v1
29623 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
29625 + move-result-object v1
29627 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
29629 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29634 +.method private getNetworkInfo()Ljava/lang/String;
29639 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29641 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29643 + move-result-object v1
29645 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29651 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29653 + move-result-object v6
29655 + if-eqz v6, :cond_25
29657 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
29661 + if-eqz v0, :cond_25
29663 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29667 + const-string/jumbo v4, "networkInfoCurrent"
29669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29671 + const-string v5, ""
29677 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29681 + const-string/jumbo v4, "networkInfoCurrent"
29683 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29688 +.method private getSimInfo()Ljava/lang/String;
29693 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29695 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29697 + move-result-object v1
29699 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29705 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29707 + move-result-object v6
29709 + if-eqz v6, :cond_25
29711 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
29715 + if-eqz v0, :cond_25
29717 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29721 + const-string/jumbo v4, "networkInfoSIM"
29723 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29725 + const-string v5, ""
29731 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29735 + const-string/jumbo v4, "networkInfoSIM"
29737 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29744 +.method public getAllCellInfo()Ljava/util/List;
29746 + .annotation system Ldalvik/annotation/Signature;
29749 + "Ljava/util/List",
29751 + "Landroid/telephony/CellInfo;",
29756 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29758 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29760 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29762 + move-result-object v3
29764 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29768 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29770 + move-result-object v1
29774 + if-eqz v1, :cond_1f
29776 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29782 + if-ne v2, v3, :cond_20
29784 + new-instance v0, Ljava/util/ArrayList;
29786 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
29793 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29797 + if-eqz v2, :cond_2c
29799 + new-instance v0, Ljava/util/ArrayList;
29801 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
29806 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
29808 + move-result-object v0
29813 +.method public getCellLocation()Landroid/telephony/CellLocation;
29819 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29821 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29823 + move-result-object v1
29825 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29829 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29831 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29833 + move-result-object v6
29835 + if-eqz v6, :cond_2c
29837 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29841 + if-nez v0, :cond_1f
29843 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29847 + if-eqz v0, :cond_2c
29850 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29852 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29856 + const-string v4, "locationNetwork"
29860 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29866 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29868 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29872 + const-string v4, "locationNetwork"
29876 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29878 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
29880 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_3b} :catch_3d
29882 + move-result-object v7
29887 + move-exception v8
29892 +.method public getCompleteVoiceMailNumber()Ljava/lang/String;
29896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29898 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29900 + move-result-object v1
29902 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29906 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29908 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29910 + move-result-object v6
29912 + const-string v5, ""
29914 + if-eqz v6, :cond_2a
29916 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29920 + if-eqz v0, :cond_2a
29922 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
29924 + move-result-object v5
29926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29928 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29932 + const-string v4, "line1Number"
29934 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29940 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber()Ljava/lang/String;
29942 + move-result-object v5
29944 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29948 + const-string v4, "line1Number"
29950 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29952 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
29957 + move-exception v7
29964 +.method public getDeviceId()Ljava/lang/String;
29967 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29969 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29971 + move-result-object v1
29973 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29979 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29981 + move-result-object v6
29983 + if-eqz v6, :cond_28
29985 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29989 + if-eqz v0, :cond_28
29991 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29993 + move-result-object v5
29995 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29997 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30001 + const-string v4, "deviceID"
30003 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30009 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
30011 + move-result-object v5
30013 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30017 + const-string v4, "deviceID"
30019 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30024 +.method public getDeviceSoftwareVersion()Ljava/lang/String;
30028 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30030 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30032 + move-result-object v1
30034 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30038 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30040 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30042 + move-result-object v6
30044 + const-string v5, ""
30046 + if-eqz v6, :cond_2a
30048 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30052 + if-eqz v0, :cond_2a
30054 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
30056 + move-result-object v5
30058 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30060 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
30064 + const-string v4, "deviceID"
30066 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30072 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceSoftwareVersion()Ljava/lang/String;
30074 + move-result-object v5
30076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30080 + const-string v4, "deviceID"
30082 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30084 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
30089 + move-exception v7
30096 +.method public getIsimDomain()Ljava/lang/String;
30099 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30101 + move-result-object v0
30106 +.method public getIsimImpi()Ljava/lang/String;
30109 + const-string v0, "PrivacyTelephonyManager"
30111 + new-instance v1, Ljava/lang/StringBuilder;
30113 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30115 + const-string v2, "getIsimImpi - "
30117 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30119 + move-result-object v1
30121 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30123 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30125 + move-result-object v2
30127 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30129 + move-result-object v1
30131 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30133 + move-result-object v1
30135 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30137 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30139 + move-result-object v0
30144 +.method public getIsimImpu()[Ljava/lang/String;
30149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30151 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30153 + move-result-object v1
30155 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30159 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30161 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30163 + move-result-object v6
30165 + const-string v0, "PrivacyTelephonyManager"
30167 + new-instance v3, Ljava/lang/StringBuilder;
30169 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30171 + const-string v4, "getIsimImpu() - "
30173 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30175 + move-result-object v3
30177 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30179 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30181 + move-result-object v4
30183 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30185 + move-result-object v3
30187 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30189 + move-result-object v3
30191 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30195 + new-array v7, v0, [Ljava/lang/String;
30197 + if-eqz v6, :cond_4f
30199 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30203 + if-eqz v0, :cond_4f
30205 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30207 + move-result-object v0
30209 + aput-object v0, v7, v8
30211 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30213 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30217 + const-string/jumbo v4, "subscriberID"
30219 + aget-object v5, v7, v8
30221 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30227 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
30229 + move-result-object v7
30231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30233 + const-string/jumbo v4, "subscriberID"
30235 + aget-object v5, v7, v8
30239 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30244 +.method public getLine1AlphaTag()Ljava/lang/String;
30247 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getLine1Number()Ljava/lang/String;
30249 + move-result-object v0
30254 +.method public getLine1Number()Ljava/lang/String;
30257 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30259 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30261 + move-result-object v1
30263 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30267 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30269 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30271 + move-result-object v6
30273 + if-eqz v6, :cond_28
30275 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30279 + if-eqz v0, :cond_28
30281 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30283 + move-result-object v5
30285 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30287 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30291 + const-string v4, "line1Number"
30293 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30299 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
30301 + move-result-object v5
30303 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30307 + const-string v4, "line1Number"
30309 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30314 +.method public getMsisdn()Ljava/lang/String;
30317 + const-string v0, "PrivacyTelephonyManager"
30319 + new-instance v1, Ljava/lang/StringBuilder;
30321 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30323 + const-string v2, "getMsisdn() - "
30325 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30327 + move-result-object v1
30329 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30331 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30333 + move-result-object v2
30335 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30337 + move-result-object v1
30339 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30341 + move-result-object v1
30343 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30345 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30347 + move-result-object v0
30352 +.method public getNeighboringCellInfo()Ljava/util/List;
30354 + .annotation system Ldalvik/annotation/Signature;
30357 + "Ljava/util/List",
30359 + "Landroid/telephony/NeighboringCellInfo;",
30364 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30366 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30368 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30370 + move-result-object v7
30372 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30376 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30378 + move-result-object v5
30382 + const-string v4, "[null]"
30384 + if-eqz v5, :cond_1c
30386 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30392 + if-ne v6, v7, :cond_1d
30399 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30403 + if-eqz v6, :cond_2b
30405 + new-instance v3, Ljava/util/ArrayList;
30407 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
30409 + const-string v4, "[empty list of cells]"
30414 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
30416 + move-result-object v3
30418 + const-string v0, ""
30420 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
30422 + move-result-object v2
30425 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
30429 + if-eqz v6, :cond_5f
30431 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
30433 + move-result-object v1
30435 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
30437 + new-instance v6, Ljava/lang/StringBuilder;
30439 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30441 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30443 + move-result-object v6
30445 + const-string v7, "\t"
30447 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30449 + move-result-object v6
30451 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30453 + move-result-object v6
30455 + const-string v7, "\n"
30457 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30459 + move-result-object v6
30461 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30463 + move-result-object v0
30468 + new-instance v6, Ljava/lang/StringBuilder;
30470 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30472 + const-string v7, "[real value]:\n"
30474 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30476 + move-result-object v6
30478 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30480 + move-result-object v6
30482 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30484 + move-result-object v4
30489 +.method public getNetworkCountryIso()Ljava/lang/String;
30492 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30494 + move-result-object v0
30496 + if-nez v0, :cond_a
30498 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
30500 + move-result-object v0
30506 +.method public getNetworkOperator()Ljava/lang/String;
30509 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30511 + move-result-object v0
30513 + if-nez v0, :cond_a
30515 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
30517 + move-result-object v0
30523 +.method public getNetworkOperatorName()Ljava/lang/String;
30526 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30528 + move-result-object v0
30530 + if-nez v0, :cond_a
30532 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30534 + move-result-object v0
30540 +.method public getNetworkType()I
30546 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30548 + move-result-object v1
30550 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30556 + if-nez v1, :cond_10
30558 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
30560 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_f} :catch_11
30569 + move-exception v0
30571 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30578 +.method public getPhoneType()I
30581 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30583 + move-result-object v0
30585 + sget-object v2, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
30591 + if-nez v0, :cond_f
30593 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getPhoneType()I
30601 +.method public getSimCountryIso()Ljava/lang/String;
30604 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30606 + move-result-object v0
30608 + if-nez v0, :cond_a
30610 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
30612 + move-result-object v0
30618 +.method public getSimOperator()Ljava/lang/String;
30621 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30623 + move-result-object v0
30625 + if-nez v0, :cond_a
30627 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
30629 + move-result-object v0
30635 +.method public getSimOperatorName()Ljava/lang/String;
30638 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30640 + move-result-object v0
30642 + if-nez v0, :cond_a
30644 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
30646 + move-result-object v0
30652 +.method public getSimSerialNumber()Ljava/lang/String;
30655 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30657 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30659 + move-result-object v1
30661 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30665 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30667 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30669 + move-result-object v6
30671 + if-eqz v6, :cond_29
30673 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
30677 + if-eqz v0, :cond_29
30679 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
30681 + move-result-object v5
30683 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
30689 + const-string/jumbo v4, "simSerial"
30691 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30697 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
30699 + move-result-object v5
30701 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30705 + const-string/jumbo v4, "simSerial"
30707 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30712 +.method public getSubscriberId()Ljava/lang/String;
30715 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30717 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30719 + move-result-object v1
30721 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30725 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30727 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30729 + move-result-object v6
30731 + const-string v0, "PrivacyTelephonyManager"
30733 + new-instance v3, Ljava/lang/StringBuilder;
30735 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30737 + const-string v4, "getSubscriberId() - "
30739 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30741 + move-result-object v3
30743 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30745 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30747 + move-result-object v4
30749 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30751 + move-result-object v3
30753 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30755 + move-result-object v3
30757 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30759 + if-eqz v6, :cond_47
30761 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30765 + if-eqz v0, :cond_47
30767 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30769 + move-result-object v5
30771 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30773 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30777 + const-string/jumbo v4, "subscriberID"
30779 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30785 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
30787 + move-result-object v5
30789 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30793 + const-string/jumbo v4, "subscriberID"
30795 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30800 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
30803 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
30805 + move-result-object v0
30810 +.method public getVoiceMailNumber()Ljava/lang/String;
30813 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30815 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30817 + move-result-object v1
30819 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30823 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30825 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30827 + move-result-object v6
30829 + if-eqz v6, :cond_28
30831 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30835 + if-eqz v0, :cond_28
30837 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30839 + move-result-object v5
30841 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30843 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30847 + const-string v4, "line1Number"
30849 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30855 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
30857 + move-result-object v5
30859 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30863 + const-string v4, "line1Number"
30865 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30870 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
30873 + and-int/lit8 v1, p2, 0x10
30875 + if-nez v1, :cond_8
30877 + and-int/lit8 v1, p2, 0x20
30879 + if-eqz v1, :cond_29
30882 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30884 + if-eqz v1, :cond_27
30886 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30888 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30890 + move-result-object v0
30893 + if-eqz v0, :cond_1c
30895 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
30897 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30899 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
30902 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30906 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setUid(I)V
30908 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
30919 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
30923 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali
30924 --- stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 1969-12-31 18:00:00.000000000 -0600
30925 +++ opd-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 2013-01-08 23:29:43.624287686 -0600
30927 +.class public Landroid/privacy/surrogate/PrivacyWifiManager;
30928 +.super Landroid/net/wifi/WifiManager;
30929 +.source "PrivacyWifiManager.java"
30933 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyWifiManager"
30937 +.field private context:Landroid/content/Context;
30939 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
30943 +.method public constructor <init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
30946 + invoke-direct {p0, p1, p2}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
30948 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
30950 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
30952 + const-string/jumbo v1, "privacy"
30954 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
30956 + move-result-object v1
30958 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
30960 + move-result-object v1
30962 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
30964 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30971 +.method public getConfigFile()Ljava/lang/String;
30978 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30980 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
30982 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30984 + move-result-object v1
30986 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30990 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30992 + move-result-object v7
30994 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30996 + if-eqz v0, :cond_31
30998 + if-eqz v7, :cond_31
31000 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31004 + if-eqz v0, :cond_31
31006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31008 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31010 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31012 + move-result-object v1
31016 + const-string/jumbo v4, "wifiInfo"
31018 + move-object v6, v5
31020 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31022 + const-string v0, ""
31028 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31030 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31032 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31034 + move-result-object v1
31038 + const-string/jumbo v4, "wifiInfo"
31040 + move-object v6, v5
31042 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31044 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfigFile()Ljava/lang/String;
31046 + move-result-object v0
31051 +.method public getConfiguredNetworks()Ljava/util/List;
31053 + .annotation system Ldalvik/annotation/Signature;
31056 + "Ljava/util/List",
31058 + "Landroid/net/wifi/WifiConfiguration;",
31067 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31069 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31071 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31073 + move-result-object v1
31075 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31079 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31081 + move-result-object v8
31083 + new-instance v7, Ljava/util/ArrayList;
31085 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31087 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31089 + if-eqz v0, :cond_34
31091 + if-eqz v8, :cond_34
31093 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31097 + if-eqz v0, :cond_34
31099 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31101 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31103 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31105 + move-result-object v1
31109 + const-string/jumbo v4, "wifiInfo"
31111 + move-object v6, v5
31113 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31121 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31123 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31125 + move-result-object v1
31129 + const-string/jumbo v4, "wifiInfo"
31131 + move-object v6, v5
31133 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31135 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
31137 + move-result-object v7
31142 +.method public getConnectionInfo()Landroid/net/wifi/WifiInfo;
31151 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31153 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31155 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31157 + move-result-object v1
31159 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31163 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31165 + move-result-object v8
31167 + new-instance v7, Landroid/net/wifi/WifiInfo;
31169 + invoke-direct {v7, v3}, Landroid/net/wifi/WifiInfo;-><init>(Z)V
31171 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31173 + if-eqz v0, :cond_34
31175 + if-eqz v8, :cond_34
31177 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31181 + if-eqz v0, :cond_34
31183 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31185 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31187 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31189 + move-result-object v1
31191 + const-string/jumbo v4, "wifiInfo"
31193 + move-object v6, v5
31195 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31201 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31203 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31205 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31207 + move-result-object v1
31211 + const-string/jumbo v4, "wifiInfo"
31213 + move-object v6, v5
31215 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31217 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
31219 + move-result-object v7
31224 +.method public getDhcpInfo()Landroid/net/DhcpInfo;
31231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31233 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31235 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31237 + move-result-object v1
31239 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31243 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31245 + move-result-object v7
31247 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31249 + if-eqz v0, :cond_34
31251 + if-eqz v7, :cond_34
31253 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31257 + if-eqz v0, :cond_34
31259 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31261 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31263 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31265 + move-result-object v1
31269 + const-string/jumbo v4, "wifiInfo"
31271 + move-object v6, v5
31273 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31275 + new-instance v0, Landroid/net/DhcpInfo;
31277 + invoke-direct {v0}, Landroid/net/DhcpInfo;-><init>()V
31283 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31285 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31287 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31289 + move-result-object v1
31293 + const-string/jumbo v4, "wifiInfo"
31295 + move-object v6, v5
31297 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31299 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
31301 + move-result-object v0
31306 +.method public getFrequencyBand()I
31313 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31315 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31317 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31319 + move-result-object v1
31321 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31325 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31327 + move-result-object v7
31329 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31331 + if-eqz v0, :cond_2f
31333 + if-eqz v7, :cond_2f
31335 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31339 + if-eqz v0, :cond_2f
31341 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31343 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31345 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31347 + move-result-object v1
31351 + const-string/jumbo v4, "wifiInfo"
31353 + move-object v6, v5
31355 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31361 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31363 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31365 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31367 + move-result-object v1
31371 + const-string/jumbo v4, "wifiInfo"
31373 + move-object v6, v5
31375 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31377 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getFrequencyBand()I
31384 +.method public getScanResults()Ljava/util/List;
31386 + .annotation system Ldalvik/annotation/Signature;
31389 + "Ljava/util/List",
31391 + "Landroid/net/wifi/ScanResult;",
31400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31402 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31404 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31406 + move-result-object v1
31408 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31412 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31414 + move-result-object v8
31416 + new-instance v7, Ljava/util/ArrayList;
31418 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31420 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31422 + if-eqz v0, :cond_34
31424 + if-eqz v8, :cond_34
31426 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31430 + if-eqz v0, :cond_34
31432 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31434 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31436 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31438 + move-result-object v1
31442 + const-string/jumbo v4, "wifiInfo"
31444 + move-object v6, v5
31446 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31452 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31454 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31456 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31458 + move-result-object v1
31462 + const-string/jumbo v4, "wifiInfo"
31464 + move-object v6, v5
31466 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31468 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
31470 + move-result-object v7
31475 +.method public getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
31482 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31484 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31486 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31488 + move-result-object v1
31490 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31494 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31496 + move-result-object v7
31498 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31500 + if-eqz v0, :cond_34
31502 + if-eqz v7, :cond_34
31504 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31508 + if-eqz v0, :cond_34
31510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31512 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31514 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31516 + move-result-object v1
31520 + const-string/jumbo v4, "wifiInfo"
31522 + move-object v6, v5
31524 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31526 + new-instance v0, Landroid/net/wifi/WifiConfiguration;
31528 + invoke-direct {v0}, Landroid/net/wifi/WifiConfiguration;-><init>()V
31534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31536 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31538 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31540 + move-result-object v1
31544 + const-string/jumbo v4, "wifiInfo"
31546 + move-object v6, v5
31548 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31550 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
31552 + move-result-object v0
31557 +.method public getWifiState()I
31566 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31568 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31570 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31572 + move-result-object v1
31574 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31578 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31580 + move-result-object v7
31582 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31584 + if-eqz v0, :cond_30
31586 + if-eqz v7, :cond_30
31588 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
31592 + if-nez v0, :cond_30
31594 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31596 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31598 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31600 + move-result-object v1
31602 + const-string/jumbo v4, "wifiInfo"
31604 + move-object v6, v5
31606 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31616 + if-eqz v0, :cond_4d
31618 + if-eqz v7, :cond_4d
31620 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31624 + if-eqz v0, :cond_4d
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 + const-string/jumbo v4, "wifiInfo"
31636 + move-object v6, v5
31638 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31645 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31647 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31649 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31651 + move-result-object v1
31655 + const-string/jumbo v4, "wifiInfo"
31657 + move-object v6, v5
31659 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31661 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiState()I
31668 +.method public isWifiEnabled()Z
31679 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31681 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31683 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31685 + move-result-object v1
31687 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31691 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31693 + move-result-object v7
31695 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31697 + if-eqz v0, :cond_30
31699 + if-eqz v7, :cond_30
31701 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
31705 + if-nez v0, :cond_30
31707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31709 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31711 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31713 + move-result-object v1
31715 + const-string/jumbo v4, "wifiInfo"
31717 + move-object v6, v5
31719 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31725 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31727 + if-eqz v0, :cond_4d
31729 + if-eqz v7, :cond_4d
31731 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31735 + if-eqz v0, :cond_4d
31737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31739 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31741 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31743 + move-result-object v1
31745 + const-string/jumbo v4, "wifiInfo"
31747 + move-object v6, v5
31749 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31756 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31758 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31760 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31762 + move-result-object v1
31764 + const-string/jumbo v4, "wifiInfo"
31768 + move-object v6, v5
31770 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31772 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->isWifiEnabled()Z
31779 +.method public setWifiEnabled(Z)Z
31788 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31790 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31792 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31794 + move-result-object v1
31796 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31800 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31802 + move-result-object v7
31804 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31806 + if-eqz v0, :cond_31
31808 + if-eqz v7, :cond_31
31810 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
31814 + if-eqz v0, :cond_31
31816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31818 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31820 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31822 + move-result-object v1
31826 + const-string/jumbo v4, "switchWifiState"
31828 + move-object v6, v5
31830 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31838 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31840 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31842 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31844 + move-result-object v1
31846 + const-string/jumbo v4, "switchWifiState"
31850 + move-object v6, v5
31852 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31854 + invoke-super {p0, p1}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
31861 +.method public startScan()Z
31870 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31872 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31874 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31876 + move-result-object v1
31878 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31882 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31884 + move-result-object v7
31886 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31888 + if-eqz v0, :cond_31
31890 + if-eqz v7, :cond_31
31892 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31896 + if-eqz v0, :cond_31
31898 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31900 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31902 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31904 + move-result-object v1
31908 + const-string/jumbo v4, "wifiInfo"
31910 + move-object v6, v5
31912 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31920 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31922 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31924 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31926 + move-result-object v1
31928 + const-string/jumbo v4, "wifiInfo"
31932 + move-object v6, v5
31934 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31936 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScan()Z
31943 +.method public startScanActive()Z
31952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31954 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31956 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31958 + move-result-object v1
31960 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31964 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31966 + move-result-object v7
31968 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31970 + if-eqz v0, :cond_31
31972 + if-eqz v7, :cond_31
31974 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31978 + if-eqz v0, :cond_31
31980 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31982 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31984 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31986 + move-result-object v1
31990 + const-string/jumbo v4, "wifiInfo"
31992 + move-object v6, v5
31994 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32004 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
32006 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32008 + move-result-object v1
32010 + const-string/jumbo v4, "wifiInfo"
32014 + move-object v6, v5
32016 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32018 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScanActive()Z
32024 diff -Npru stock-framework/smali/android/provider/Settings$Secure.smali opd-framework/smali/android/provider/Settings$Secure.smali
32025 --- stock-framework/smali/android/provider/Settings$Secure.smali 2013-01-08 23:29:05.044096372 -0600
32026 +++ opd-framework/smali/android/provider/Settings$Secure.smali 2013-01-08 23:29:43.704288077 -0600
32027 @@ -190,6 +190,8 @@
32029 .field public static final PREFERRED_TTY_MODE:Ljava/lang/String; = "preferred_tty_mode"
32031 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,SecureSettings"
32033 .field public static final SCREENSAVER_ACTIVATE_ON_DOCK:Ljava/lang/String; = "screensaver_activate_on_dock"
32035 .field public static final SCREENSAVER_ACTIVATE_ON_SLEEP:Ljava/lang/String; = "screensaver_activate_on_sleep"
32036 @@ -399,6 +401,14 @@
32040 +.field private static context:Landroid/content/Context;
32042 +.field private static mPm:Landroid/content/pm/IPackageManager;
32044 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
32046 +.field private static privacyMode:Z
32048 .field private static sIsSystemProcess:Z
32050 .field private static sLockSettings:Lcom/android/internal/widget/ILockSettings;
32051 @@ -408,9 +418,11 @@
32054 .method static constructor <clinit>()V
32063 const-string v0, "content://settings/secure"
32065 @@ -440,7 +452,7 @@
32067 new-instance v0, Ljava/util/HashSet;
32069 - invoke-direct {v0, v5}, Ljava/util/HashSet;-><init>(I)V
32070 + invoke-direct {v0, v6}, Ljava/util/HashSet;-><init>(I)V
32072 sput-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32074 @@ -1182,15 +1194,15 @@
32076 invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
32078 + sput-boolean v5, Landroid/provider/Settings$Secure;->privacyMode:Z
32082 new-array v0, v0, [Ljava/lang/String;
32086 - const-string v2, "bugreport_in_power_menu"
32087 + const-string v1, "bugreport_in_power_menu"
32089 - aput-object v2, v0, v1
32090 + aput-object v1, v0, v5
32094 @@ -1206,7 +1218,7 @@
32096 const-string/jumbo v1, "parental_control_redirect_url"
32098 - aput-object v1, v0, v5
32099 + aput-object v1, v0, v6
32103 @@ -1699,6 +1711,70 @@
32107 +.method private static getPackageName()[Ljava/lang/String;
32111 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32113 + if-eqz v3, :cond_f
32115 + invoke-static {}, Landroid/os/Process;->myUid()I
32119 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32121 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32123 + move-result-object v1
32129 + const-string/jumbo v3, "package"
32131 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32133 + move-result-object v3
32135 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32137 + move-result-object v3
32139 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32141 + invoke-static {}, Landroid/os/Process;->myUid()I
32145 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32147 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32149 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
32151 + move-result-object v1
32156 + move-exception v0
32158 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32160 + const-string v3, "PM,SecureSettings"
32162 + const-string/jumbo v4, "something went wrong with getting package name"
32164 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32171 .method public static getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
32174 @@ -1714,152 +1790,392 @@
32177 .method public static getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32181 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32182 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32184 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32185 + move-object/from16 v0, p1
32188 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32190 - if-eqz v0, :cond_31
32193 - const-string v0, "Settings"
32194 + if-eqz v3, :cond_35
32196 - new-instance v1, Ljava/lang/StringBuilder;
32197 + const-string v3, "Settings"
32199 - invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32200 + new-instance v4, Ljava/lang/StringBuilder;
32202 - const-string v2, "Setting "
32203 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
32205 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32206 + const-string v5, "Setting "
32208 - move-result-object v1
32209 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32211 - invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32212 + move-result-object v4
32214 - move-result-object v1
32215 + move-object/from16 v0, p1
32217 - const-string v2, " has moved from android.provider.Settings.Secure"
32218 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32220 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32221 + move-result-object v4
32223 - move-result-object v1
32224 + const-string v5, " has moved from android.provider.Settings.Secure"
32226 - const-string v2, " to android.provider.Settings.Global."
32227 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32229 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32230 + move-result-object v4
32232 - move-result-object v1
32233 + const-string v5, " to android.provider.Settings.Global."
32235 - invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32236 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32238 - move-result-object v1
32239 + move-result-object v4
32241 - invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32242 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32244 - invoke-static {p0, p1, p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32245 + move-result-object v4
32247 - move-result-object v0
32248 + invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32252 + invoke-static/range {p0 .. p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32255 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32256 + move-result-object v8
32258 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32264 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32266 - if-eqz v0, :cond_6f
32267 + move-object/from16 v0, p1
32269 - const-class v1, Landroid/provider/Settings$Secure;
32270 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32276 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32277 + if-eqz v3, :cond_79
32279 - if-nez v0, :cond_57
32280 + const-class v4, Landroid/provider/Settings$Secure;
32282 - const-string v0, "lock_settings"
32285 - invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32287 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32289 - move-result-object v0
32290 + if-nez v3, :cond_5d
32292 - invoke-static {v0}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32293 + const-string v3, "lock_settings"
32295 - move-result-object v0
32296 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32298 - sput-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32299 + move-result-object v3
32301 + invoke-static {v3}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32303 + move-result-object v3
32305 + sput-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32307 invoke-static {}, Landroid/os/Process;->myUid()I
32312 - const/16 v2, 0x3e8
32313 + const/16 v5, 0x3e8
32315 - if-ne v0, v2, :cond_69
32316 + if-ne v3, v5, :cond_73
32322 - sput-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32324 + sput-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32329 - .catchall {:try_start_3c .. :try_end_58} :catchall_6b
32333 + .catchall {:try_start_42 .. :try_end_5e} :catchall_75
32335 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32336 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32338 - if-eqz v0, :cond_6f
32339 + if-eqz v3, :cond_79
32341 - sget-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32342 + sget-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32344 - if-nez v0, :cond_6f
32345 + if-nez v3, :cond_79
32348 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32350 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32352 - const-string v1, "0"
32353 + const-string v4, "0"
32355 - invoke-interface {v0, p1, v1, p2}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32357 - .catch Landroid/os/RemoteException; {:try_start_60 .. :try_end_67} :catch_6e
32358 + move-object/from16 v0, p1
32360 - move-result-object v0
32361 + move/from16 v1, p2
32364 + invoke-interface {v3, v0, v4, v1}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32366 + .catch Landroid/os/RemoteException; {:try_start_66 .. :try_end_71} :catch_78
32370 + move-result-object v8
32376 - move-exception v0
32383 - .catchall {:try_start_6c .. :try_end_6d} :catchall_6b
32388 + move-exception v3
32391 - move-exception v0
32395 + .catchall {:try_start_76 .. :try_end_77} :catchall_75
32398 - sget-object v0, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32401 - invoke-virtual {v0, p0, p1, p2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32403 + move-exception v3
32405 - move-result-object v0
32407 + const-string v3, "android_id"
32409 + move-object/from16 v0, p1
32411 + invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32415 + if-eqz v3, :cond_f7
32417 + invoke-static {}, Landroid/provider/Settings$Secure;->initiate()V
32420 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32422 + if-nez v3, :cond_9e
32424 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
32426 + sget-object v4, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32428 + const-string/jumbo v5, "privacy"
32430 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32432 + move-result-object v5
32434 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32436 + move-result-object v5
32438 + invoke-direct {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32440 + sput-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32443 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32445 + if-nez v3, :cond_af
32447 + const-string/jumbo v3, "package"
32449 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32451 + move-result-object v3
32453 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32455 + move-result-object v3
32457 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32460 + const/16 v19, 0x0
32462 + invoke-static {}, Landroid/provider/Settings$Secure;->getPackageName()[Ljava/lang/String;
32464 + move-result-object v18
32466 + if-eqz v18, :cond_13c
32468 + move-object/from16 v0, v18
32470 + array-length v3, v0
32472 + if-lez v3, :cond_13c
32475 + const/16 v17, 0x0
32478 + move-object/from16 v0, v18
32480 + array-length v3, v0
32482 + move/from16 v0, v17
32484 + if-ge v0, v3, :cond_f7
32486 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32488 + aget-object v4, v18, v17
32490 + invoke-virtual {v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
32492 + move-result-object v19
32494 + if-eqz v19, :cond_11c
32496 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32500 + if-eqz v3, :cond_11c
32502 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
32504 + move-result-object v8
32506 + if-eqz v8, :cond_105
32508 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32510 + aget-object v4, v18, v17
32514 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32518 + const-string v7, "android_id"
32522 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32524 + .catch Ljava/lang/Exception; {:try_start_86 .. :try_end_ea} :catch_ec
32529 + move-exception v16
32531 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Exception;->printStackTrace()V
32533 + const-string v3, "PM,SecureSettings"
32535 + const-string v4, "Got exception in getString()"
32537 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32541 + sget-object v3, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32543 + move-object/from16 v0, p0
32545 + move-object/from16 v1, p1
32547 + move/from16 v2, p2
32549 + invoke-virtual {v3, v0, v1, v2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32551 + move-result-object v8
32557 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32559 + aget-object v10, v18, v17
32563 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32567 + const-string v13, "android_id"
32569 + const-string/jumbo v14, "q4a5w896ay21dr46"
32573 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32575 + const-string/jumbo v8, "q4a5w896ay21dr46"
32580 + move-object/from16 v0, v18
32582 + array-length v3, v0
32584 + add-int/lit8 v3, v3, -0x1
32586 + move/from16 v0, v17
32588 + if-ne v0, v3, :cond_137
32590 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32592 + move-object/from16 v0, v18
32594 + array-length v3, v0
32596 + add-int/lit8 v3, v3, -0x1
32598 + aget-object v10, v18, v3
32604 + const-string v13, "android_id"
32610 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32613 + const/16 v19, 0x0
32615 + add-int/lit8 v17, v17, 0x1
32620 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32622 + move-object/from16 v0, v18
32624 + array-length v3, v0
32626 + add-int/lit8 v3, v3, -0x1
32628 + aget-object v10, v18, v3
32634 + const-string v13, "android_id"
32640 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32642 + .catch Ljava/lang/Exception; {:try_start_105 .. :try_end_14e} :catch_ec
32647 .method public static getUriFor(Ljava/lang/String;)Landroid/net/Uri;
32648 @@ -1926,6 +2242,71 @@
32652 +.method private static initiate()V
32658 + sput-object v1, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32660 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
32662 + sget-object v2, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32664 + const-string/jumbo v3, "privacy"
32666 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32668 + move-result-object v3
32670 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32672 + move-result-object v3
32674 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32676 + sput-object v1, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32678 + const-string/jumbo v1, "package"
32680 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32682 + move-result-object v1
32684 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32686 + move-result-object v1
32688 + sput-object v1, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32692 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
32694 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
32700 + move-exception v0
32702 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32704 + const-string v1, "PM,SecureSettings"
32706 + const-string v2, "Something went wrong with initalize variables"
32708 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32712 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
32717 .method public static final isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
32720 diff -Npru stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali opd-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali
32721 --- stock-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2013-01-08 23:29:05.140096848 -0600
32722 +++ opd-framework/smali/android/service/wallpaper/WallpaperService$Engine.smali 2013-01-08 23:29:43.808288590 -0600
32723 @@ -748,7 +748,7 @@
32725 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32727 - const-string v0, "mVisible="
32728 + const-string/jumbo v0, "mVisible="
32730 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32732 @@ -842,7 +842,7 @@
32734 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32736 - const-string v0, "mType="
32737 + const-string/jumbo v0, "mType="
32739 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32741 @@ -884,7 +884,7 @@
32743 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32745 - const-string v0, "mVisibleInsets="
32746 + const-string/jumbo v0, "mVisibleInsets="
32748 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32750 @@ -944,7 +944,7 @@
32756 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32758 const-string v0, "mPendingXOffset="
32759 @@ -1001,7 +1001,7 @@
32761 iget-object v0, p0, Landroid/service/wallpaper/WallpaperService$Engine;->mPendingMove:Landroid/view/MotionEvent;
32763 - if-eqz v0, :cond_164
32764 + if-eqz v0, :cond_167
32766 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
32768 @@ -1013,17 +1013,17 @@
32770 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
32784 - .catchall {:try_start_10e .. :try_end_168} :catchall_166
32786 + .catchall {:try_start_111 .. :try_end_16b} :catchall_169
32790 diff -Npru stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali opd-framework/smali/android/speech/srec/MicrophoneInputStream.smali
32791 --- stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-01-08 23:29:05.148096892 -0600
32792 +++ opd-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-01-08 23:29:43.820288653 -0600
32797 +.field private static final GOT_ERROR:I = -0x3
32799 +.field private static final IS_ALLOWED:I = -0x1
32801 +.field private static final IS_NOT_ALLOWED:I = -0x2
32803 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MicrophoneInputStream"
32805 .field private static final TAG:Ljava/lang/String; = "MicrophoneInputStream"
32809 +.field private context:Landroid/content/Context;
32811 .field private mAudioRecord:I
32813 .field private mOneByte:[B
32815 +.field private mPm:Landroid/content/pm/IPackageManager;
32817 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
32819 +.field private privacyMode:Z
32823 .method static constructor <clinit>()V
32824 @@ -25,79 +41,167 @@
32827 .method public constructor <init>(II)V
32830 .annotation system Ldalvik/annotation/Throws;
32832 Ljava/io/IOException;
32842 invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
32845 + iput-boolean v2, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
32847 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32848 + iput v2, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32851 + new-array v0, v3, [B
32853 - new-array v1, v1, [B
32854 + iput-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
32856 - iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
32857 + iget-boolean v0, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
32859 - invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
32860 + if-nez v0, :cond_15
32862 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->initiate()V
32865 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->checkIfPackagesAllowed()I
32871 + if-ne v0, v1, :cond_43
32873 + invoke-direct {p0, v2}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
32875 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
32877 + move-result-object v7
32879 + if-eqz v7, :cond_3b
32881 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32883 + aget-object v1, v7, v2
32885 + const-string/jumbo v4, "recordAudio"
32888 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32890 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32891 + aget-object v9, v7, v2
32893 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32894 + invoke-static {}, Landroid/os/Process;->myUid()I
32896 - if-nez v1, :cond_1d
32899 - new-instance v1, Ljava/io/IOException;
32900 + invoke-virtual {v6, v9, v10}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32902 - const-string v2, "AudioRecord constructor failed - busy?"
32903 + move-result-object v6
32905 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32906 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32910 + new-instance v0, Ljava/io/IOException;
32913 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32914 + const-string v1, "AudioRecord constructor failed - busy?"
32916 - invoke-static {v1}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
32917 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32922 + invoke-direct {p0, v3}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
32924 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
32926 + move-result-object v7
32928 + if-eqz v7, :cond_63
32930 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32932 + aget-object v1, v7, v2
32934 + const-string/jumbo v4, "recordAudio"
32936 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32938 + aget-object v6, v7, v2
32940 + invoke-static {}, Landroid/os/Process;->myUid()I
32944 + invoke-virtual {v3, v6, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32946 + move-result-object v6
32950 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32953 + invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
32957 - if-eqz v0, :cond_41
32958 + iput v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32960 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32962 + if-nez v0, :cond_75
32964 + new-instance v0, Ljava/io/IOException;
32966 + const-string v1, "AudioRecord constructor failed - busy?"
32968 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32973 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32975 + invoke-static {v0}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
32979 + if-eqz v8, :cond_99
32981 invoke-virtual {p0}, Landroid/speech/srec/MicrophoneInputStream;->close()V
32983 - new-instance v1, Ljava/io/IOException;
32984 + new-instance v0, Ljava/io/IOException;
32986 - new-instance v2, Ljava/lang/StringBuilder;
32987 + new-instance v1, Ljava/lang/StringBuilder;
32989 - invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
32990 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32992 - const-string v3, "AudioRecord start failed: "
32993 + const-string v2, "AudioRecord start failed: "
32995 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32996 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32998 - move-result-object v2
32999 + move-result-object v1
33001 - invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33002 + invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
33004 - move-result-object v2
33005 + move-result-object v1
33007 - invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33008 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33010 - move-result-object v2
33011 + move-result-object v1
33013 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33014 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
33024 @@ -131,6 +235,334 @@
33028 +.method private checkIfPackagesAllowed()I
33034 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33036 + if-eqz v6, :cond_41
33040 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33042 + move-result-object v3
33044 + invoke-static {}, Landroid/os/Process;->myUid()I
33048 + if-eqz v3, :cond_2c
33053 + array-length v6, v3
33055 + if-ge v1, v6, :cond_2a
33057 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33059 + aget-object v7, v3, v1
33061 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33063 + move-result-object v2
33065 + if-eqz v2, :cond_26
33067 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
33071 + if-eqz v6, :cond_26
33081 + add-int/lit8 v1, v1, 0x1
33091 + const-string v6, "PM,MicrophoneInputStream"
33093 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
33095 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33097 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
33102 + move-exception v0
33104 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33106 + const-string v6, "PM,MicrophoneInputStream"
33108 + const-string v7, "Got exception in checkIfPackagesAllowed"
33110 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33116 + const-string v6, "PM,MicrophoneInputStream"
33118 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
33120 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33122 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
33127 +.method private dataAccess(Z)V
33130 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
33132 + move-result-object v1
33134 + if-eqz p1, :cond_2f
33136 + if-eqz v1, :cond_2f
33141 + array-length v2, v1
33143 + if-ge v0, v2, :cond_58
33145 + const-string v2, "PM,MicrophoneInputStream"
33147 + new-instance v3, Ljava/lang/StringBuilder;
33149 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33151 + const-string v4, "Allowed Package: -"
33153 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33155 + move-result-object v3
33157 + aget-object v4, v1, v0
33159 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33161 + move-result-object v3
33163 + const-string v4, "- accessing microphone."
33165 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33167 + move-result-object v3
33169 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33171 + move-result-object v3
33173 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33175 + add-int/lit8 v0, v0, 0x1
33180 + if-eqz v1, :cond_58
33185 + array-length v2, v1
33187 + if-ge v0, v2, :cond_58
33189 + const-string v2, "PM,MicrophoneInputStream"
33191 + new-instance v3, Ljava/lang/StringBuilder;
33193 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33195 + const-string v4, "Blocked Package: -"
33197 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33199 + move-result-object v3
33201 + aget-object v4, v1, v0
33203 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33205 + move-result-object v3
33207 + const-string v4, "- accessing microphone."
33209 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33211 + move-result-object v3
33213 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33215 + move-result-object v3
33217 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33219 + add-int/lit8 v0, v0, 0x1
33227 +.method private getPackageName()[Ljava/lang/String;
33231 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33233 + if-eqz v3, :cond_f
33235 + invoke-static {}, Landroid/os/Process;->myUid()I
33239 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33241 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33243 + move-result-object v1
33249 + const-string/jumbo v3, "package"
33251 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33253 + move-result-object v3
33255 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33257 + move-result-object v3
33259 + iput-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33261 + invoke-static {}, Landroid/os/Process;->myUid()I
33265 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33267 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33269 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
33271 + move-result-object v1
33276 + move-exception v0
33278 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33280 + const-string v3, "PM,MicrophoneInputStream"
33282 + const-string/jumbo v4, "something went wrong with getting package name"
33284 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33291 +.method private initiate()V
33297 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33299 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
33301 + iget-object v2, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33303 + const-string/jumbo v3, "privacy"
33305 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33307 + move-result-object v3
33309 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
33311 + move-result-object v3
33313 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
33315 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33317 + const-string/jumbo v1, "package"
33319 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33321 + move-result-object v1
33323 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33325 + move-result-object v1
33327 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33331 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33333 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
33339 + move-exception v0
33341 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33343 + const-string v1, "PM,MicrophoneInputStream"
33345 + const-string v2, "Something went wrong with initalize variables"
33347 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33351 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33358 .method public close()V
33359 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali opd-framework/smali/android/telephony/PhoneStateListener$1.smali
33360 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-01-08 23:29:05.196097130 -0600
33361 +++ opd-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-01-08 23:29:43.880288948 -0600
33362 @@ -64,23 +64,196 @@
33365 .method public onCallStateChanged(ILjava/lang/String;)V
33369 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33370 + move-object/from16 v0, p0
33372 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33373 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33375 - const/16 v1, 0x20
33376 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33377 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33380 + move-result-object v3
33382 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33383 + if-eqz v3, :cond_99
33385 - move-result-object v0
33386 + if-eqz p2, :cond_99
33388 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
33389 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
33393 + if-nez v3, :cond_99
33395 + move-object/from16 v0, p0
33397 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33399 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33400 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33402 + move-result-object v3
33404 + const-string/jumbo v4, "privacy"
33406 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33408 + move-result-object v2
33410 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
33412 + move-object/from16 v0, p0
33414 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33416 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33417 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33419 + move-result-object v3
33421 + move-object/from16 v0, p0
33423 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33425 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33426 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33430 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33432 + move-result-object v8
33434 + if-eqz v8, :cond_6a
33436 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
33440 + if-eqz v3, :cond_6a
33442 + const-string v7, ""
33444 + move-object/from16 v0, p0
33446 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33448 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33450 + const/16 v4, 0x20
33454 + move/from16 v0, p1
33456 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33458 + move-result-object v3
33460 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33462 + move-object/from16 v0, p0
33464 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33466 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33467 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33469 + move-result-object v3
33471 + move-object/from16 v0, p0
33473 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33475 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33476 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33482 + const-string v6, "incomingCall"
33484 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33490 + move-object/from16 v0, p0
33492 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33494 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33496 + const/16 v4, 0x20
33500 + move/from16 v0, p1
33502 + move-object/from16 v1, p2
33504 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33506 + move-result-object v3
33508 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33510 + move-object/from16 v0, p0
33512 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33514 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33515 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33517 + move-result-object v10
33519 + move-object/from16 v0, p0
33521 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33523 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33524 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33530 + const-string v13, "incomingCall"
33532 + move-object v9, v2
33534 + move-object/from16 v14, p2
33536 + move-object v15, v8
33538 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33543 + move-object/from16 v0, p0
33545 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33547 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33549 + const/16 v4, 0x20
33553 + move/from16 v0, p1
33555 + move-object/from16 v1, p2
33557 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33559 + move-result-object v3
33561 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33566 .method public onCellInfoChanged(Ljava/util/List;)V
33567 @@ -113,27 +286,124 @@
33570 .method public onCellLocationChanged(Landroid/os/Bundle;)V
33578 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
33580 + move-result-object v7
33582 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33584 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33585 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33587 + move-result-object v1
33589 + if-eqz v1, :cond_4a
33591 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33593 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33594 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33596 + move-result-object v1
33598 + const-string/jumbo v2, "privacy"
33600 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33602 move-result-object v0
33604 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
33606 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33608 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33609 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33611 + move-result-object v1
33613 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33615 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33616 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33620 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33622 + move-result-object v6
33624 + if-eqz v6, :cond_4b
33626 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33630 + if-eqz v1, :cond_4b
33632 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33634 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33635 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33637 + move-result-object v1
33639 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33641 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33642 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33646 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33650 + const-string v4, "locationNetwork"
33652 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33659 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33661 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33665 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33666 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33668 move-result-object v1
33670 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
33673 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33675 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33676 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33678 + move-result-object v1
33680 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33682 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33683 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33687 + const-string v4, "locationNetwork"
33689 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33694 .method public onDataActivity(I)V
33695 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali opd-framework/smali/android/telephony/PhoneStateListener.smali
33696 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2013-01-08 23:29:03.636089390 -0600
33697 +++ opd-framework/smali/android/telephony/PhoneStateListener.smali 2013-01-08 23:29:42.820283692 -0600
33698 @@ -31,12 +31,20 @@
33700 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
33702 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
33706 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
33708 +.field private context:Landroid/content/Context;
33710 .field mHandler:Landroid/os/Handler;
33712 +.field private packageName:Ljava/lang/String;
33714 +.field private uid:I
33718 .method public constructor <init>()V
33723 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33726 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33731 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33734 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33739 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
33742 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
33749 .method public onCallForwardingIndicatorChanged(Z)V
33750 @@ -143,3 +175,27 @@
33755 +.method public setContext(Landroid/content/Context;)V
33758 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33763 +.method public setPackageName(Ljava/lang/String;)V
33766 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33771 +.method public setUid(I)V
33774 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
33778 diff -Npru stock-framework/smali/android/telephony/ServiceState.smali opd-framework/smali/android/telephony/ServiceState.smali
33779 --- stock-framework/smali/android/telephony/ServiceState.smali 2013-01-08 23:29:05.196097130 -0600
33780 +++ opd-framework/smali/android/telephony/ServiceState.smali 2013-01-08 23:29:43.884288974 -0600
33781 @@ -668,48 +668,6 @@
33785 -.method private setNullState(I)V
33794 - iput p1, p0, Landroid/telephony/ServiceState;->mState:I
33796 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
33798 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
33800 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
33802 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
33804 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
33806 - iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
33808 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
33810 - iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
33812 - iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
33814 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
33816 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
33818 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
33820 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
33822 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
33829 .method protected copyFrom(Landroid/telephony/ServiceState;)V
33830 @@ -1511,6 +1469,48 @@
33834 +.method setNullState(I)V
33843 + iput p1, p0, Landroid/telephony/ServiceState;->mState:I
33845 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
33847 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
33849 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
33851 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
33853 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
33855 + iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
33857 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
33859 + iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
33861 + iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
33863 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
33865 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
33867 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
33869 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
33871 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
33876 .method public setOperatorAlphaLong(Ljava/lang/String;)V
33879 @@ -1560,7 +1560,7 @@
33883 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33884 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33888 @@ -1570,7 +1570,7 @@
33892 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33893 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33897 diff -Npru stock-framework/smali/com/android/internal/os/BatteryStatsImpl$StopwatchTimer.smali opd-framework/smali/com/android/internal/os/BatteryStatsImpl$StopwatchTimer.smali
33898 --- stock-framework/smali/com/android/internal/os/BatteryStatsImpl$StopwatchTimer.smali 2013-01-08 23:29:06.140101806 -0600
33899 +++ opd-framework/smali/com/android/internal/os/BatteryStatsImpl$StopwatchTimer.smali 2013-01-08 23:29:44.864293829 -0600
33900 @@ -307,7 +307,7 @@
33902 move-result-object v0
33904 - const-string v1, "mUpdateTime="
33905 + const-string/jumbo v1, "mUpdateTime="
33907 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33909 diff -Npru stock-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali opd-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali
33910 --- stock-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali 2013-01-08 23:29:06.136101787 -0600
33911 +++ opd-framework/smali/com/android/internal/os/BatteryStatsImpl$Timer.smali 2013-01-08 23:29:44.860293811 -0600
33912 @@ -330,7 +330,7 @@
33914 move-result-object v0
33916 - const-string v1, "mTotalTime="
33917 + const-string/jumbo v1, "mTotalTime="
33919 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;