1 diff -Npru stock-framework/smali/android/app/ContextImpl$10.smali opd-framework/smali/android/app/ContextImpl$10.smali
2 --- stock-framework/smali/android/app/ContextImpl$10.smali 2013-01-21 12:55:57.030001493 -0600
3 +++ opd-framework/smali/android/app/ContextImpl$10.smali 2013-01-20 23:05:44.007721366 -0600
7 .method public createStaticService()Ljava/lang/Object;
11 - const-string v1, "connectivity"
12 + const-string v2, "connectivity"
14 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
15 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19 - new-instance v1, Landroid/net/ConnectivityManager;
20 + const-string v2, "ApplicationContext"
22 + const-string v3, "PDroid:ContextImpl: returning PrivacyConnectivityManager"
24 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26 invoke-static {v0}, Landroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
28 - move-result-object v2
29 + move-result-object v1
31 + new-instance v2, Landroid/privacy/surrogate/PrivacyConnectivityManager;
33 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
35 + move-result-object v3
37 - invoke-direct {v1, v2}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
38 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyConnectivityManager;-><init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
43 diff -Npru stock-framework/smali/android/app/ContextImpl$22.smali opd-framework/smali/android/app/ContextImpl$22.smali
44 --- stock-framework/smali/android/app/ContextImpl$22.smali 2013-01-21 12:55:57.033999442 -0600
45 +++ opd-framework/smali/android/app/ContextImpl$22.smali 2013-01-20 23:05:44.015721264 -0600
49 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
53 const-string v1, "location"
59 - new-instance v1, Landroid/location/LocationManager;
60 + const-string v1, "ApplicationContext"
62 + const-string v2, "PDroid:ContextImpl: returning PrivacyLocationManager"
64 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
66 + new-instance v1, Landroid/privacy/surrogate/PrivacyLocationManager;
68 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
72 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
73 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
75 + move-result-object v3
77 + invoke-direct {v1, v2, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
81 diff -Npru stock-framework/smali/android/app/ContextImpl$31.smali opd-framework/smali/android/app/ContextImpl$31.smali
82 --- stock-framework/smali/android/app/ContextImpl$31.smali 2013-01-21 12:55:57.037997391 -0600
83 +++ opd-framework/smali/android/app/ContextImpl$31.smali 2013-01-20 23:05:44.023721164 -0600
85 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
88 - new-instance v0, Landroid/telephony/TelephonyManager;
89 + const-string v0, "ApplicationContext"
91 + const-string v1, "PDroid:ContextImpl: returning PrivacyTelephonyManager"
93 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
95 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
97 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
101 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
102 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
106 diff -Npru stock-framework/smali/android/app/ContextImpl$37.smali opd-framework/smali/android/app/ContextImpl$37.smali
107 --- stock-framework/smali/android/app/ContextImpl$37.smali 2013-01-21 12:55:57.037997391 -0600
108 +++ opd-framework/smali/android/app/ContextImpl$37.smali 2013-01-20 23:05:44.023721164 -0600
111 move-result-object v1
113 - new-instance v2, Landroid/net/wifi/WifiManager;
114 + const-string v2, "ApplicationContext"
116 + const-string v3, "PDroid:ContextImpl: returning PrivacyWifiManager"
118 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
120 + new-instance v2, Landroid/privacy/surrogate/PrivacyWifiManager;
122 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
124 move-result-object v3
126 - invoke-direct {v2, v3, v1}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
127 + invoke-direct {v2, v3, v1}, Landroid/privacy/surrogate/PrivacyWifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
131 diff -Npru stock-framework/smali/android/app/ContextImpl$39.smali opd-framework/smali/android/app/ContextImpl$39.smali
132 --- stock-framework/smali/android/app/ContextImpl$39.smali 2013-01-21 12:55:57.037997391 -0600
133 +++ opd-framework/smali/android/app/ContextImpl$39.smali 2013-01-20 23:05:44.027721114 -0600
135 .class final Landroid/app/ContextImpl$39;
136 -.super Landroid/app/ContextImpl$ServiceFetcher;
137 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
138 .source "ContextImpl.java"
142 .method constructor <init>()V
145 - invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;-><init>()V
146 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
153 -.method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
155 +.method public createStaticService()Ljava/lang/Object;
158 - #getter for: Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
159 - invoke-static {p1}, Landroid/app/ContextImpl;->access$100(Landroid/app/ContextImpl;)Landroid/view/Display;
160 + const-string v2, "ApplicationContext"
162 - move-result-object v0
163 + const-string v3, "PDroid:ContextImpl: Creating static privacy service"
165 - if-nez v0, :cond_17
166 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
168 - invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
169 + const-string/jumbo v2, "privacy"
171 - move-result-object v2
172 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
174 - const-string v3, "display"
175 + move-result-object v0
177 - invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
178 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
180 move-result-object v1
182 - check-cast v1, Landroid/hardware/display/DisplayManager;
185 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
187 - invoke-virtual {v1, v2}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
189 - move-result-object v0
190 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
193 - new-instance v2, Landroid/view/WindowManagerImpl;
194 + move-result-object v3
196 - invoke-direct {v2, v0}, Landroid/view/WindowManagerImpl;-><init>(Landroid/view/Display;)V
197 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
201 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali opd-framework/smali/android/app/ContextImpl$3.smali
202 --- stock-framework/smali/android/app/ContextImpl$3.smali 2013-01-21 12:55:57.037997391 -0600
203 +++ opd-framework/smali/android/app/ContextImpl$3.smali 2013-01-20 23:05:44.027721114 -0600
207 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
211 const-string v2, "account"
215 move-result-object v1
217 - new-instance v2, Landroid/accounts/AccountManager;
218 + const-string v2, "ApplicationContext"
220 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
221 + const-string v3, "PDroid:ContextImpl: returning PrivacyAccountManager rather than AccountManager"
223 + invoke-static {v2, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
225 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
227 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
231 diff -Npru stock-framework/smali/android/app/ContextImpl$40.smali opd-framework/smali/android/app/ContextImpl$40.smali
232 --- stock-framework/smali/android/app/ContextImpl$40.smali 2013-01-21 12:55:57.037997391 -0600
233 +++ opd-framework/smali/android/app/ContextImpl$40.smali 2013-01-20 23:05:44.027721114 -0600
237 .method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
241 - const-string/jumbo v2, "user"
243 - invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
244 + #getter for: Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
245 + invoke-static {p1}, Landroid/app/ContextImpl;->access$100(Landroid/app/ContextImpl;)Landroid/view/Display;
247 move-result-object v0
249 - invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
250 + if-nez v0, :cond_17
252 + invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
254 + move-result-object v2
256 + const-string v3, "display"
258 + invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
260 move-result-object v1
262 - new-instance v2, Landroid/os/UserManager;
263 + check-cast v1, Landroid/hardware/display/DisplayManager;
267 + invoke-virtual {v1, v2}, Landroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
269 + move-result-object v0
272 + new-instance v2, Landroid/view/WindowManagerImpl;
274 - invoke-direct {v2, p1, v1}, Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
275 + invoke-direct {v2, v0}, Landroid/view/WindowManagerImpl;-><init>(Landroid/view/Display;)V
279 diff -Npru stock-framework/smali/android/app/ContextImpl$41.smali opd-framework/smali/android/app/ContextImpl$41.smali
280 --- stock-framework/smali/android/app/ContextImpl$41.smali 2013-01-21 12:55:57.041995340 -0600
281 +++ opd-framework/smali/android/app/ContextImpl$41.smali 2013-01-20 23:05:44.027721114 -0600
286 -.method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
287 +.method public getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
290 - invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
291 + const-string/jumbo v2, "user"
293 - move-result-object v0
294 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
296 - new-instance v1, Landroid/app/ProfileManager;
297 + move-result-object v0
299 - iget-object v2, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
300 + invoke-static {v0}, Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
302 - invoke-virtual {v2}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
303 + move-result-object v1
305 - move-result-object v2
306 + new-instance v2, Landroid/os/UserManager;
308 - invoke-direct {v1, v0, v2}, Landroid/app/ProfileManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
309 + invoke-direct {v2, p1, v1}, Landroid/os/UserManager;-><init>(Landroid/content/Context;Landroid/os/IUserManager;)V
314 diff -Npru stock-framework/smali/android/app/ContextImpl$42.smali opd-framework/smali/android/app/ContextImpl$42.smali
315 --- stock-framework/smali/android/app/ContextImpl$42.smali 2013-01-21 12:55:57.041995340 -0600
316 +++ opd-framework/smali/android/app/ContextImpl$42.smali 2013-01-20 23:05:44.027721114 -0600
320 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
324 - iget-object v0, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
326 - invoke-virtual {v0}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
327 + invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
329 move-result-object v0
331 - invoke-static {p1, v0}, Landroid/net/wimax/WimaxHelper;->createWimaxService(Landroid/content/Context;Landroid/os/Handler;)Ljava/lang/Object;
332 + new-instance v1, Landroid/app/ProfileManager;
334 - move-result-object v0
335 + iget-object v2, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
337 + invoke-virtual {v2}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
339 + move-result-object v2
341 + invoke-direct {v1, v0, v2}, Landroid/app/ProfileManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
346 diff -Npru stock-framework/smali/android/app/ContextImpl$43.smali opd-framework/smali/android/app/ContextImpl$43.smali
347 --- stock-framework/smali/android/app/ContextImpl$43.smali 1969-12-31 18:00:00.000000000 -0600
348 +++ opd-framework/smali/android/app/ContextImpl$43.smali 2013-01-20 23:05:44.027721114 -0600
350 +.class final Landroid/app/ContextImpl$43;
351 +.super Landroid/app/ContextImpl$ServiceFetcher;
352 +.source "ContextImpl.java"
356 +.annotation system Ldalvik/annotation/EnclosingClass;
357 + value = Landroid/app/ContextImpl;
360 +.annotation system Ldalvik/annotation/InnerClass;
367 +.method constructor <init>()V
370 + invoke-direct {p0}, Landroid/app/ContextImpl$ServiceFetcher;-><init>()V
377 +.method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
380 + iget-object v0, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
382 + invoke-virtual {v0}, Landroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
384 + move-result-object v0
386 + invoke-static {p1, v0}, Landroid/net/wimax/WimaxHelper;->createWimaxService(Landroid/content/Context;Landroid/os/Handler;)Ljava/lang/Object;
388 + move-result-object v0
392 diff -Npru stock-framework/smali/android/app/ContextImpl.smali opd-framework/smali/android/app/ContextImpl.smali
393 --- stock-framework/smali/android/app/ContextImpl.smali 2013-01-21 12:55:57.061985089 -0600
394 +++ opd-framework/smali/android/app/ContextImpl.smali 2013-01-20 23:05:44.059720712 -0600
397 .field private static sNextPerContextServiceCacheIndex:I
399 +.field private static sOuterContext:Landroid/content/Context;
401 .field private static final sSharedPrefs:Ljava/util/HashMap;
402 .annotation system Ldalvik/annotation/Signature;
406 sput-object v0, Landroid/app/ContextImpl;->sSharedPrefs:Ljava/util/HashMap;
410 + sput-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
412 new-array v0, v1, [Ljava/lang/String;
414 sput-object v0, Landroid/app/ContextImpl;->EMPTY_FILE_LIST:[Ljava/lang/String;
417 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
419 - const-string/jumbo v0, "window"
420 + const-string/jumbo v0, "privacy"
422 new-instance v1, Landroid/app/ContextImpl$39;
426 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
428 - const-string/jumbo v0, "user"
429 + const-string/jumbo v0, "window"
431 new-instance v1, Landroid/app/ContextImpl$40;
435 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
437 - const-string/jumbo v0, "profile"
438 + const-string/jumbo v0, "user"
440 new-instance v1, Landroid/app/ContextImpl$41;
444 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
446 - const-string v0, "WiMax"
447 + const-string/jumbo v0, "profile"
449 new-instance v1, Landroid/app/ContextImpl$42;
453 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
455 + const-string v0, "WiMax"
457 + new-instance v1, Landroid/app/ContextImpl$43;
459 + invoke-direct {v1}, Landroid/app/ContextImpl$43;-><init>()V
461 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
468 iput-object v0, p0, Landroid/app/ContextImpl;->mServiceCache:Ljava/util/ArrayList;
470 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
472 + if-eqz v0, :cond_26
474 + const-string v0, "ApplicationContext"
476 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
478 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
481 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
483 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
490 iput-object v0, p0, Landroid/app/ContextImpl;->mDisplay:Landroid/view/Display;
492 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
494 + if-eqz v0, :cond_42
496 + const-string v0, "ApplicationContext"
498 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
500 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
503 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
505 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
510 @@ -1069,6 +1109,14 @@
514 +.method static final getStaticOuterContext()Landroid/content/Context;
517 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
522 .method private getWallpaperManager()Landroid/app/WallpaperManager;
525 @@ -5110,10 +5158,23 @@
528 .method final setOuterContext(Landroid/content/Context;)V
532 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
536 + const-string v0, "ApplicationContext"
538 + const-string v1, "PDroid:ContextImpl: ContextImpl being created but already has sOuterContext"
540 + invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
543 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
545 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
550 diff -Npru stock-framework/smali/android/app/Fragment.smali opd-framework/smali/android/app/Fragment.smali
551 --- stock-framework/smali/android/app/Fragment.smali 2013-01-21 12:55:57.065983039 -0600
552 +++ opd-framework/smali/android/app/Fragment.smali 2013-01-20 23:05:44.067720611 -0600
555 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
557 - const-string v0, "mState="
558 + const-string/jumbo v0, "mState="
560 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
564 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
566 - if-eqz v0, :cond_e6
567 + if-eqz v0, :cond_e7
569 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
571 @@ -545,10 +545,10 @@
573 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
577 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
579 - if-eqz v0, :cond_f7
580 + if-eqz v0, :cond_f8
582 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
584 @@ -560,10 +560,10 @@
586 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
590 iget-object v0, p0, Landroid/app/Fragment;->mParentFragment:Landroid/app/Fragment;
592 - if-eqz v0, :cond_108
593 + if-eqz v0, :cond_109
595 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
597 @@ -575,10 +575,10 @@
599 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
603 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
605 - if-eqz v0, :cond_119
606 + if-eqz v0, :cond_11a
608 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
610 @@ -590,10 +590,10 @@
612 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
616 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
618 - if-eqz v0, :cond_12a
619 + if-eqz v0, :cond_12b
621 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
623 @@ -605,10 +605,10 @@
625 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
629 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
631 - if-eqz v0, :cond_13b
632 + if-eqz v0, :cond_13c
634 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
636 @@ -620,14 +620,14 @@
638 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
642 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
644 - if-eqz v0, :cond_156
645 + if-eqz v0, :cond_158
647 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
649 - const-string v0, "mTarget="
650 + const-string/jumbo v0, "mTarget="
652 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
654 @@ -643,10 +643,10 @@
656 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
660 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
662 - if-eqz v0, :cond_167
663 + if-eqz v0, :cond_169
665 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
667 @@ -658,10 +658,10 @@
669 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
673 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
675 - if-eqz v0, :cond_178
676 + if-eqz v0, :cond_17a
678 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
680 @@ -673,10 +673,10 @@
682 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
686 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
688 - if-eqz v0, :cond_18a
689 + if-eqz v0, :cond_18c
691 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
693 @@ -688,10 +688,10 @@
695 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
699 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
701 - if-eqz v0, :cond_1a8
702 + if-eqz v0, :cond_1ab
704 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
708 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
710 - const-string v0, "mStateAfterAnimating="
711 + const-string/jumbo v0, "mStateAfterAnimating="
713 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
715 @@ -713,10 +713,10 @@
717 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
721 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
723 - if-eqz v0, :cond_1cc
724 + if-eqz v0, :cond_1cf
726 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
728 @@ -746,10 +746,10 @@
730 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
734 iget-object v0, p0, Landroid/app/Fragment;->mChildFragmentManager:Landroid/app/FragmentManagerImpl;
736 - if-eqz v0, :cond_209
737 + if-eqz v0, :cond_20c
739 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
743 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/FragmentManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
750 diff -Npru stock-framework/smali/android/app/Instrumentation$1.smali opd-framework/smali/android/app/Instrumentation$1.smali
751 --- stock-framework/smali/android/app/Instrumentation$1.smali 2013-01-21 12:55:57.205911278 -0600
752 +++ opd-framework/smali/android/app/Instrumentation$1.smali 2013-01-20 23:05:44.287717845 -0600
754 -.class synthetic Landroid/app/Instrumentation$1;
755 +.class Landroid/app/Instrumentation$1;
756 .super Ljava/lang/Object;
757 .source "Instrumentation.java"
760 +.implements Ljava/lang/Runnable;
764 -.annotation system Ldalvik/annotation/EnclosingClass;
765 - value = Landroid/app/Instrumentation;
766 +.annotation system Ldalvik/annotation/EnclosingMethod;
767 + 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;
770 .annotation system Ldalvik/annotation/InnerClass;
771 - accessFlags = 0x1008
778 +.field final synthetic this$0:Landroid/app/Instrumentation;
780 +.field final synthetic val$tmp:Landroid/content/Context;
784 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
787 + iput-object p1, p0, Landroid/app/Instrumentation$1;->this$0:Landroid/app/Instrumentation;
789 + iput-object p2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
791 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
798 +.method public run()V
801 + const-wide/16 v2, 0x3e8
804 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
806 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
809 + new-instance v1, Landroid/content/Intent;
811 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
813 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
815 + new-instance v0, Landroid/os/Bundle;
817 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
819 + const-string/jumbo v2, "packageName"
821 + iget-object v3, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
823 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
825 + move-result-object v3
827 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
829 + const-string/jumbo v2, "phoneState"
833 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
835 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
837 + iget-object v2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
839 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
841 + const-string v2, "PrivacyContext"
843 + const-string/jumbo v3, "sent privacy intent"
845 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
854 diff -Npru stock-framework/smali/android/app/Instrumentation$2.smali opd-framework/smali/android/app/Instrumentation$2.smali
855 --- stock-framework/smali/android/app/Instrumentation$2.smali 1969-12-31 18:00:00.000000000 -0600
856 +++ opd-framework/smali/android/app/Instrumentation$2.smali 2013-01-20 23:05:44.287717845 -0600
858 +.class Landroid/app/Instrumentation$2;
859 +.super Ljava/lang/Object;
860 +.source "Instrumentation.java"
863 +.implements Ljava/lang/Runnable;
867 +.annotation system Ldalvik/annotation/EnclosingMethod;
868 + 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
871 +.annotation system Ldalvik/annotation/InnerClass;
878 +.field final synthetic this$0:Landroid/app/Instrumentation;
880 +.field final synthetic val$tmp:Landroid/content/Context;
884 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
887 + iput-object p1, p0, Landroid/app/Instrumentation$2;->this$0:Landroid/app/Instrumentation;
889 + iput-object p2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
891 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
898 +.method public run()V
901 + const-wide/16 v2, 0x3e8
904 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
906 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
909 + new-instance v1, Landroid/content/Intent;
911 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
913 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
915 + new-instance v0, Landroid/os/Bundle;
917 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
919 + const-string/jumbo v2, "packageName"
921 + iget-object v3, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
923 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
925 + move-result-object v3
927 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
929 + const-string/jumbo v2, "phoneState"
933 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
935 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
937 + iget-object v2, p0, Landroid/app/Instrumentation$2;->val$tmp:Landroid/content/Context;
939 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
941 + const-string v2, "PrivacyContext"
943 + const-string/jumbo v3, "sent privacy intent"
945 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
954 diff -Npru stock-framework/smali/android/app/Instrumentation$3.smali opd-framework/smali/android/app/Instrumentation$3.smali
955 --- stock-framework/smali/android/app/Instrumentation$3.smali 1969-12-31 18:00:00.000000000 -0600
956 +++ opd-framework/smali/android/app/Instrumentation$3.smali 2013-01-20 23:05:44.287717845 -0600
958 +.class Landroid/app/Instrumentation$3;
959 +.super Ljava/lang/Object;
960 +.source "Instrumentation.java"
963 +.implements Ljava/lang/Runnable;
967 +.annotation system Ldalvik/annotation/EnclosingMethod;
968 + 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;
971 +.annotation system Ldalvik/annotation/InnerClass;
978 +.field final synthetic this$0:Landroid/app/Instrumentation;
980 +.field final synthetic val$tmp:Landroid/content/Context;
984 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
987 + iput-object p1, p0, Landroid/app/Instrumentation$3;->this$0:Landroid/app/Instrumentation;
989 + iput-object p2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
991 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
998 +.method public run()V
1001 + const-wide/16 v2, 0x3e8
1004 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1006 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1009 + new-instance v1, Landroid/content/Intent;
1011 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1013 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1015 + new-instance v0, Landroid/os/Bundle;
1017 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1019 + const-string/jumbo v2, "packageName"
1021 + iget-object v3, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1023 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1025 + move-result-object v3
1027 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1029 + const-string/jumbo v2, "phoneState"
1033 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1035 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1037 + iget-object v2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
1039 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1041 + const-string v2, "PrivacyContext"
1043 + const-string/jumbo v3, "sent privacy intent"
1045 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1054 diff -Npru stock-framework/smali/android/app/Instrumentation$4.smali opd-framework/smali/android/app/Instrumentation$4.smali
1055 --- stock-framework/smali/android/app/Instrumentation$4.smali 1969-12-31 18:00:00.000000000 -0600
1056 +++ opd-framework/smali/android/app/Instrumentation$4.smali 2013-01-20 23:05:44.287717845 -0600
1058 +.class Landroid/app/Instrumentation$4;
1059 +.super Ljava/lang/Object;
1060 +.source "Instrumentation.java"
1063 +.implements Ljava/lang/Runnable;
1067 +.annotation system Ldalvik/annotation/EnclosingMethod;
1068 + value = Landroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
1071 +.annotation system Ldalvik/annotation/InnerClass;
1078 +.field final synthetic this$0:Landroid/app/Instrumentation;
1080 +.field final synthetic val$tmp:Landroid/content/Context;
1084 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1087 + iput-object p1, p0, Landroid/app/Instrumentation$4;->this$0:Landroid/app/Instrumentation;
1089 + iput-object p2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1091 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
1098 +.method public run()V
1101 + const-wide/16 v2, 0x3e8
1104 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
1106 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
1109 + new-instance v1, Landroid/content/Intent;
1111 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
1113 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
1115 + new-instance v0, Landroid/os/Bundle;
1117 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
1119 + const-string/jumbo v2, "packageName"
1121 + iget-object v3, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1123 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1125 + move-result-object v3
1127 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
1129 + const-string/jumbo v2, "phoneState"
1133 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
1135 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
1137 + iget-object v2, p0, Landroid/app/Instrumentation$4;->val$tmp:Landroid/content/Context;
1139 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
1141 + const-string v2, "PrivacyContext"
1143 + const-string/jumbo v3, "sent privacy intent"
1145 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1154 diff -Npru stock-framework/smali/android/app/Instrumentation.smali opd-framework/smali/android/app/Instrumentation.smali
1155 --- stock-framework/smali/android/app/Instrumentation.smali 2013-01-21 12:55:57.205911279 -0600
1156 +++ opd-framework/smali/android/app/Instrumentation.smali 2013-01-20 23:05:44.303717645 -0600
1159 .annotation system Ldalvik/annotation/MemberClasses;
1161 - Landroid/app/Instrumentation$1;,
1162 Landroid/app/Instrumentation$Idler;,
1163 Landroid/app/Instrumentation$ActivityGoing;,
1164 Landroid/app/Instrumentation$ActivityWaiter;,
1167 .field private mPerformanceCollector:Landroid/os/PerformanceCollector;
1169 +.field private mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1171 .field private mRunner:Ljava/lang/Thread;
1173 .field private final mSync:Ljava/lang/Object;
1174 @@ -891,176 +892,131 @@
1177 .method public execStartActivitiesAsUser(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;I)V
1180 - move-object v2, p2
1182 - check-cast v2, Landroid/app/IApplicationThread;
1184 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1186 - if-eqz v1, :cond_37
1188 - iget-object v3, p0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1193 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1195 - invoke-interface {v1}, Ljava/util/List;->size()I
1202 - if-ge v10, v8, :cond_36
1205 - iget-object v1, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1207 - invoke-interface {v1, v10}, Ljava/util/List;->get(I)Ljava/lang/Object;
1209 - move-result-object v9
1211 - check-cast v9, Landroid/app/Instrumentation$ActivityMonitor;
1214 + move-object/from16 v3, p2
1217 + check-cast v3, Landroid/app/IApplicationThread;
1219 - aget-object v5, p5, v5
1220 + const-string v2, "Instrumentation"
1222 - invoke-virtual {v9, p1, v1, v5}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1223 + new-instance v4, Ljava/lang/StringBuilder;
1226 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1228 - if-eqz v1, :cond_33
1229 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: execStartActivitiesAsUser for "
1231 - iget v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1232 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1234 - add-int/lit8 v1, v1, 0x1
1235 + move-result-object v4
1237 - iput v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1238 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1240 - invoke-virtual {v9}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1241 + move-result-object v6
1244 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1246 - if-eqz v1, :cond_36
1247 + move-result-object v4
1250 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1254 + move-result-object v4
1257 - add-int/lit8 v10, v10, 0x1
1258 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1261 + if-eqz p5, :cond_6f
1266 - .catchall {:try_start_a .. :try_end_37} :catchall_57
1271 - move-object/from16 v0, p5
1272 + move-object/from16 v12, p5
1274 - array-length v1, v0
1275 + array-length v0, v12
1277 - new-array v4, v1, [Ljava/lang/String;
1278 + move/from16 v19, v0
1284 - move-object/from16 v0, p5
1286 + move/from16 v0, v17
1288 - array-length v1, v0
1289 + move/from16 v1, v19
1291 - if-ge v10, v1, :cond_5a
1292 + if-ge v0, v1, :cond_51
1294 - aget-object v1, p5, v10
1295 + aget-object v18, v12, v17
1299 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1301 - invoke-virtual {v1, v3}, Landroid/content/Intent;->setAllowFds(Z)V
1302 + move-result-object v2
1304 - aget-object v1, p5, v10
1305 + if-eqz v2, :cond_cc
1307 - invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1308 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1310 - move-result-object v3
1311 + move-result-object v2
1313 - invoke-virtual {v1, v3}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1314 + const-string v4, "android.intent.action.CALL"
1316 - move-result-object v1
1317 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1319 - aput-object v1, v4, v10
1321 - .catch Landroid/os/RemoteException; {:try_start_37 .. :try_end_54} :catch_70
1324 - add-int/lit8 v10, v10, 0x1
1325 + if-nez v2, :cond_50
1328 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1332 + move-result-object v2
1337 - .catchall {:try_start_58 .. :try_end_59} :catchall_57
1338 + const-string v4, "android.intent.action.DIAL"
1341 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1343 + .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_4d} :catch_ae
1347 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1350 - move-result-object v1
1351 + if-eqz v2, :cond_cc
1353 - move-object/from16 v3, p5
1357 - move-object v5, p3
1359 + if-nez v13, :cond_d0
1361 - move-object/from16 v6, p6
1362 + const-string v2, "Instrumentation"
1364 - move/from16 v7, p7
1365 + new-instance v4, Ljava/lang/StringBuilder;
1367 - 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
1368 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1371 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: No provided intents triggered checking for "
1374 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1376 - aget-object v1, p5, v1
1377 + move-result-object v4
1379 - invoke-static {v11, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1381 - .catch Landroid/os/RemoteException; {:try_start_5a .. :try_end_6f} :catch_70
1382 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1385 + move-result-object v6
1389 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1393 + move-result-object v4
1395 -.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;
1397 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1399 - move-object/from16 v3, p2
1400 + move-result-object v4
1402 - check-cast v3, Landroid/app/IApplicationThread;
1403 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1407 move-object/from16 v0, p0
1409 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1411 - if-eqz v2, :cond_49
1412 + if-eqz v2, :cond_283
1414 move-object/from16 v0, p0
1416 @@ -1068,524 +1024,2595 @@
1422 move-object/from16 v0, p0
1424 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1426 invoke-interface {v2}, Ljava/util/List;->size()I
1435 + move/from16 v0, v16
1438 - if-ge v15, v13, :cond_48
1439 + if-ge v0, v9, :cond_282
1441 move-object/from16 v0, p0
1443 iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1445 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
1446 + move/from16 v0, v16
1448 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1450 - move-result-object v14
1451 + move-result-object v11
1453 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
1454 + check-cast v11, Landroid/app/Instrumentation$ActivityMonitor;
1458 - move-object/from16 v0, p1
1461 - move-object/from16 v1, p5
1462 + aget-object v6, p5, v6
1464 + move-object/from16 v0, p1
1466 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1467 + invoke-virtual {v11, v0, v2, v6}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1471 - if-eqz v2, :cond_45
1472 + if-eqz v2, :cond_27e
1474 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1475 + iget v2, v11, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1477 add-int/lit8 v2, v2, 0x1
1479 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1480 + iput v2, v11, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1482 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1483 + invoke-virtual {v11}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1487 - if-eqz v2, :cond_48
1488 + if-eqz v2, :cond_282
1490 - if-ltz p6, :cond_43
1492 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1494 - move-result-object v2
1499 + .catchall {:try_start_7a .. :try_end_ad} :catchall_2a6
1509 + move-exception v14
1512 + const-string v2, "Instrumentation"
1515 - add-int/lit8 v15, v15, 0x1
1516 + new-instance v4, Ljava/lang/StringBuilder;
1519 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1524 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
1525 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intents for "
1529 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1532 - move-object/from16 v0, p5
1533 + move-result-object v4
1535 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1536 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1538 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1539 + move-result-object v6
1541 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1542 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1544 - move-result-object v2
1545 + move-result-object v4
1547 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1548 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1550 move-result-object v4
1552 - move-object/from16 v0, p5
1553 + invoke-static {v2, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
1555 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1558 - move-result-object v5
1560 + add-int/lit8 v17, v17, 0x1
1562 - if-eqz p4, :cond_81
1565 - move-object/from16 v0, p4
1567 + const-string v2, "Instrumentation"
1569 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1570 + new-instance v4, Ljava/lang/StringBuilder;
1574 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1577 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: One or more intents triggered checking for "
1580 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1582 - move-object/from16 v4, p5
1583 + move-result-object v4
1585 - move-object/from16 v6, p3
1586 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1588 - move/from16 v8, p6
1589 + move-result-object v6
1591 - move-object/from16 v12, p7
1592 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1594 - 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
1595 + move-result-object v4
1598 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1600 - move/from16 v0, v16
1601 + move-result-object v4
1603 - move-object/from16 v1, p5
1604 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1606 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1608 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
1609 + move-object/from16 v0, p0
1613 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1616 + if-eqz v2, :cond_fc
1620 + move-object/from16 v0, p0
1625 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
1626 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1629 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1636 + if-nez v2, :cond_18f
1641 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
1645 + const-string/jumbo v4, "privacy"
1647 -.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;
1649 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1651 - move-object/from16 v3, p2
1652 + move-result-object v4
1654 - check-cast v3, Landroid/app/IApplicationThread;
1655 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1657 - move-object/from16 v0, p0
1658 + move-result-object v4
1660 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1661 + move-object/from16 v0, p1
1663 - if-eqz v2, :cond_4e
1664 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1666 move-object/from16 v0, p0
1668 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1671 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1674 move-object/from16 v0, p0
1676 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1677 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1679 - invoke-interface {v2}, Ljava/util/List;->size()I
1680 + if-eqz v2, :cond_187
1683 + const-string v2, "Instrumentation"
1686 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Obtained privacy service"
1689 - move/from16 v0, v16
1690 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1692 - if-ge v0, v14, :cond_4d
1696 move-object/from16 v0, p0
1698 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1699 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1701 - move/from16 v0, v16
1702 + if-eqz v2, :cond_130
1704 - invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1705 + move-object/from16 v0, p0
1707 - move-result-object v15
1708 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1710 - check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
1711 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
1716 - move-object/from16 v0, p1
1717 + if-nez v2, :cond_197
1719 - move-object/from16 v1, p5
1721 + const-string v2, "Instrumentation"
1723 - invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1724 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not available - assuming permission denied"
1727 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1729 - if-eqz v2, :cond_4a
1732 - iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1733 + move-object/from16 v0, p0
1735 - add-int/lit8 v2, v2, 0x1
1736 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1738 - iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1739 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1741 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1742 + move-result-object v4
1747 - if-eqz v2, :cond_4d
1748 + const-string/jumbo v7, "phoneCall"
1750 - if-ltz p6, :cond_48
1753 - invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1754 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1756 - move-result-object v2
1758 + if-nez v10, :cond_6f
1762 + new-instance v15, Ljava/util/ArrayList;
1766 + move-object/from16 v0, p5
1770 + array-length v2, v0
1773 + invoke-direct {v15, v2}, Ljava/util/ArrayList;-><init>(I)V
1776 - add-int/lit8 v16, v16, 0x1
1777 + move-object/from16 v12, p5
1780 + array-length v0, v12
1785 - .catchall {:try_start_f .. :try_end_4e} :catchall_87
1786 + move/from16 v19, v0
1793 - move-object/from16 v0, p5
1795 + move/from16 v0, v17
1797 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1798 + move/from16 v1, v19
1800 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1801 + if-ge v0, v1, :cond_25d
1803 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1804 + aget-object v18, v12, v17
1807 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1809 move-result-object v2
1811 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1812 + if-eqz v2, :cond_17f
1814 - move-result-object v4
1815 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1817 - move-object/from16 v0, p5
1818 + move-result-object v2
1820 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1821 + const-string v4, "android.intent.action.CALL"
1823 - move-result-object v5
1824 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1826 - if-eqz p4, :cond_8a
1829 - move-object/from16 v0, p4
1830 + if-nez v2, :cond_184
1832 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1833 + invoke-virtual/range {v18 .. v18}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1837 + move-result-object v2
1840 + const-string v4, "android.intent.action.DIAL"
1843 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1845 - invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
1849 + if-nez v2, :cond_184
1851 - move-object/from16 v4, p5
1853 + move-object/from16 v0, v18
1855 - move-object/from16 v6, p3
1856 + invoke-interface {v15, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
1858 + .catch Ljava/lang/Exception; {:try_start_161 .. :try_end_184} :catch_23e
1860 - move/from16 v8, p6
1863 + add-int/lit8 v17, v17, 0x1
1865 - move-object/from16 v12, p7
1868 - 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
1870 + const-string v2, "Instrumentation"
1873 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Privacy service not obtained"
1875 - move/from16 v0, v17
1876 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1878 - move-object/from16 v1, p5
1881 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1883 - .catch Landroid/os/RemoteException; {:try_start_4f .. :try_end_85} :catch_8c
1885 + const-string v2, "Instrumentation"
1889 + const-string v4, "PDroid:Instrumentation:execStartActivitiesAsUser: Already had privacy service"
1892 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1901 - .catchall {:try_start_88 .. :try_end_89} :catchall_87
1903 + move-object/from16 v0, p0
1906 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1910 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1913 + move-result-object v4
1917 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
1921 + move-result-object v20
1923 -.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;
1925 + if-nez v20, :cond_1d4
1927 - move-object/from16 v3, p2
1928 + const-string v2, "Instrumentation"
1930 - check-cast v3, Landroid/app/IApplicationThread;
1931 + new-instance v4, Ljava/lang/StringBuilder;
1933 - move-object/from16 v0, p0
1934 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1936 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1937 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: No settings for package: "
1939 - if-eqz v2, :cond_49
1940 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1942 - move-object/from16 v0, p0
1943 + move-result-object v4
1945 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1946 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1949 + move-result-object v6
1952 - move-object/from16 v0, p0
1953 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1955 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1956 + move-result-object v4
1958 - invoke-interface {v2}, Ljava/util/List;->size()I
1959 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1962 + move-result-object v4
1965 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
1968 - if-ge v15, v13, :cond_48
1971 move-object/from16 v0, p0
1973 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1974 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
1976 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
1977 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1979 - move-result-object v14
1980 + move-result-object v4
1982 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
1986 + const-string/jumbo v7, "phoneCall"
1988 - move-object/from16 v0, p1
1991 - move-object/from16 v1, p5
1992 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
1994 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1998 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2002 - if-eqz v2, :cond_45
2003 + if-nez v2, :cond_20c
2005 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2006 + const-string v2, "Instrumentation"
2008 - add-int/lit8 v2, v2, 0x1
2009 + new-instance v4, Ljava/lang/StringBuilder;
2011 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2012 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2014 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2015 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents allowed: Settings permit "
2018 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2020 - if-eqz v2, :cond_48
2021 + move-result-object v4
2023 - if-ltz p6, :cond_43
2024 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2026 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2027 + move-result-object v6
2029 - move-result-object v2
2030 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2034 + move-result-object v4
2038 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2042 + move-result-object v4
2045 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2048 - add-int/lit8 v15, v15, 0x1
2052 + move-object/from16 v0, p0
2057 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
2058 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2062 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2065 - move-object/from16 v0, p5
2066 + move-result-object v4
2068 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
2069 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2071 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2074 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2075 + const-string/jumbo v7, "phoneCall"
2077 - move-result-object v2
2080 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2081 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2083 - move-result-object v4
2086 - move-object/from16 v0, p5
2088 + const-string v2, "Instrumentation"
2090 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2091 + new-instance v4, Ljava/lang/StringBuilder;
2093 - move-result-object v5
2094 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2096 - if-eqz p4, :cond_81
2097 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Call intents denied: Settings deny "
2099 - move-object/from16 v0, p4
2100 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2102 - iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
2103 + move-result-object v4
2107 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2110 + move-result-object v6
2113 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2115 - move-object/from16 v4, p5
2116 + move-result-object v4
2118 - move-object/from16 v6, p3
2119 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2121 - move/from16 v8, p6
2122 + move-result-object v4
2124 - move-object/from16 v12, p7
2125 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2127 - 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
2131 + move-object/from16 v0, p0
2133 - move/from16 v0, v16
2134 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2136 - move-object/from16 v1, p5
2137 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2139 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2141 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
2142 + move-result-object v4
2144 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2148 + const-string/jumbo v7, "phoneCall"
2152 + invoke-virtual {v2, v4, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2157 + move-exception v14
2159 + const-string v2, "Instrumentation"
2161 + new-instance v4, Ljava/lang/StringBuilder;
2163 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2165 + const-string v6, "PDroid:Instrumentation:execStartActivitiesAsUser: Exception occurred when checking intent for "
2167 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2169 + move-result-object v4
2171 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2173 + move-result-object v6
2175 + invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2177 + move-result-object v4
2179 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2181 + move-result-object v4
2183 + invoke-static {v2, v4, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2188 + invoke-interface {v15}, Ljava/util/List;->size()I
2192 + new-array v2, v2, [Landroid/content/Intent;
2194 + invoke-interface {v15, v2}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
2196 + move-result-object p5
2198 + check-cast p5, [Landroid/content/Intent;
2200 + move-object/from16 v22, p1
2202 + new-instance v2, Ljava/lang/Thread;
2204 + new-instance v4, Landroid/app/Instrumentation$2;
2206 + move-object/from16 v0, p0
2208 + move-object/from16 v1, v22
2210 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$2;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2212 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2214 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2219 + add-int/lit8 v16, v16, 0x1
2227 + .catchall {:try_start_282 .. :try_end_283} :catchall_2a6
2231 + move-object/from16 v0, p5
2233 + array-length v2, v0
2235 + new-array v5, v2, [Ljava/lang/String;
2240 + move-object/from16 v0, p5
2242 + array-length v2, v0
2244 + move/from16 v0, v16
2246 + if-ge v0, v2, :cond_2a9
2248 + aget-object v2, p5, v16
2252 + invoke-virtual {v2, v4}, Landroid/content/Intent;->setAllowFds(Z)V
2254 + aget-object v2, p5, v16
2256 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2258 + move-result-object v4
2260 + invoke-virtual {v2, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2262 + move-result-object v2
2264 + aput-object v2, v5, v16
2266 + .catch Landroid/os/RemoteException; {:try_start_283 .. :try_end_2a3} :catch_2c3
2268 + add-int/lit8 v16, v16, 0x1
2278 + .catchall {:try_start_2a7 .. :try_end_2a8} :catchall_2a6
2284 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2286 + move-result-object v2
2288 + move-object/from16 v4, p5
2290 + move-object/from16 v6, p3
2292 + move-object/from16 v7, p6
2294 + move/from16 v8, p7
2296 + 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
2302 + aget-object v2, p5, v2
2304 + move/from16 v0, v21
2306 + invoke-static {v0, v2}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2308 + .catch Landroid/os/RemoteException; {:try_start_2a9 .. :try_end_2c1} :catch_2c3
2318 +.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;
2321 + move-object/from16 v3, p2
2323 + check-cast v3, Landroid/app/IApplicationThread;
2328 + const-string v2, "Instrumentation"
2330 + new-instance v4, Ljava/lang/StringBuilder;
2332 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2334 + const-string v5, "PDroid:Instrumentation:execStartActivity: execStartActivity for "
2336 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2338 + move-result-object v4
2340 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2342 + move-result-object v5
2344 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2346 + move-result-object v4
2348 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2350 + move-result-object v4
2352 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2354 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2356 + move-result-object v2
2358 + if-eqz v2, :cond_b7
2360 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2362 + move-result-object v2
2364 + const-string v4, "android.intent.action.CALL"
2366 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2370 + if-nez v2, :cond_3f
2372 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2374 + move-result-object v2
2376 + const-string v4, "android.intent.action.DIAL"
2378 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2382 + if-eqz v2, :cond_b7
2387 + const-string v2, "Instrumentation"
2389 + new-instance v4, Ljava/lang/StringBuilder;
2391 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2393 + const-string v5, "PDroid:Instrumentation:execStartActivity: Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
2395 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2397 + move-result-object v4
2399 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2401 + move-result-object v5
2403 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2405 + move-result-object v4
2407 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2409 + move-result-object v4
2411 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2413 + move-object/from16 v0, p0
2415 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2417 + if-eqz v2, :cond_6c
2419 + move-object/from16 v0, p0
2421 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2423 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2427 + if-nez v2, :cond_125
2430 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
2432 + const-string/jumbo v4, "privacy"
2434 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
2436 + move-result-object v4
2438 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
2440 + move-result-object v4
2442 + move-object/from16 v0, p1
2444 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
2446 + move-object/from16 v0, p0
2448 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2450 + move-object/from16 v0, p0
2452 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2454 + if-eqz v2, :cond_fb
2456 + const-string v2, "Instrumentation"
2458 + const-string v4, "PDroid:Instrumentation:execStartActivity: Obtained privacy service"
2460 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2463 + move-object/from16 v0, p0
2465 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2467 + if-eqz v2, :cond_9f
2469 + move-object/from16 v0, p0
2471 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2473 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
2477 + if-nez v2, :cond_12e
2480 + const-string v2, "Instrumentation"
2482 + const-string v4, "PDroid:Instrumentation:execStartActivity: Privacy service not available: rejecting call attempt"
2484 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2488 + move-object/from16 v0, p0
2490 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2492 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2494 + move-result-object v4
2498 + const-string/jumbo v6, "phoneCall"
2502 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2504 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b7} :catch_103
2508 + move-object/from16 v0, p0
2510 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2512 + if-eqz v2, :cond_1fb
2514 + move-object/from16 v0, p0
2516 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2521 + move-object/from16 v0, p0
2523 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2525 + invoke-interface {v2}, Ljava/util/List;->size()I
2532 + move/from16 v0, v17
2534 + if-ge v0, v13, :cond_1fa
2536 + move-object/from16 v0, p0
2538 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2540 + move/from16 v0, v17
2542 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2544 + move-result-object v15
2546 + check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
2550 + move-object/from16 v0, p1
2552 + move-object/from16 v1, p5
2554 + invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2558 + if-eqz v2, :cond_1f6
2560 + iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2562 + add-int/lit8 v2, v2, 0x1
2564 + iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2566 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2570 + if-eqz v2, :cond_1fa
2572 + if-ltz p6, :cond_1f3
2574 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2576 + move-result-object v2
2581 + .catchall {:try_start_c2 .. :try_end_fa} :catchall_215
2588 + const-string v2, "Instrumentation"
2590 + const-string v4, "PDroid:Instrumentation:execStartActivity: Privacy service not obtained"
2592 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2594 + .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_102} :catch_103
2599 + move-exception v16
2601 + if-eqz p1, :cond_1e8
2603 + const-string v2, "Instrumentation"
2605 + new-instance v4, Ljava/lang/StringBuilder;
2607 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2609 + const-string v5, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for "
2611 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2613 + move-result-object v4
2615 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2617 + move-result-object v5
2619 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2621 + move-result-object v4
2623 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2625 + move-result-object v4
2627 + move-object/from16 v0, v16
2629 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2635 + const-string v2, "Instrumentation"
2637 + const-string v4, "PDroid:Instrumentation:execStartActivity: Already had privacy service"
2639 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2644 + move-object/from16 v0, p0
2646 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2648 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2650 + move-result-object v4
2652 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
2654 + move-result-object v18
2656 + if-nez v18, :cond_16b
2658 + const-string v2, "Instrumentation"
2660 + new-instance v4, Ljava/lang/StringBuilder;
2662 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2664 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call allowed: No settings for package: "
2666 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2668 + move-result-object v4
2670 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2672 + move-result-object v5
2674 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2676 + move-result-object v4
2678 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2680 + move-result-object v4
2682 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2686 + move-object/from16 v0, p0
2688 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2690 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2692 + move-result-object v4
2696 + const-string/jumbo v6, "phoneCall"
2700 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2705 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2709 + if-nez v2, :cond_1a3
2711 + const-string v2, "Instrumentation"
2713 + new-instance v4, Ljava/lang/StringBuilder;
2715 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2717 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call allowed: Settings permit "
2719 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2721 + move-result-object v4
2723 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2725 + move-result-object v5
2727 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2729 + move-result-object v4
2731 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2733 + move-result-object v4
2735 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2739 + move-object/from16 v0, p0
2741 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2743 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2745 + move-result-object v4
2747 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2751 + const-string/jumbo v6, "phoneCall"
2755 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2760 + const-string v2, "Instrumentation"
2762 + new-instance v4, Ljava/lang/StringBuilder;
2764 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2766 + const-string v5, "PDroid:Instrumentation:execStartActivity: Call denied: Settings deny "
2768 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2770 + move-result-object v4
2772 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2774 + move-result-object v5
2776 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2778 + move-result-object v4
2780 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2782 + move-result-object v4
2784 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
2788 + move-object/from16 v20, p1
2790 + new-instance v2, Ljava/lang/Thread;
2792 + new-instance v4, Landroid/app/Instrumentation$1;
2794 + move-object/from16 v0, p0
2796 + move-object/from16 v1, v20
2798 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$1;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2800 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2802 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
2804 + move-object/from16 v0, p0
2806 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
2808 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2810 + move-result-object v4
2812 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2816 + const-string/jumbo v6, "phoneCall"
2820 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
2822 + .catch Ljava/lang/Exception; {:try_start_125 .. :try_end_1e6} :catch_103
2827 + const-string v2, "Instrumentation"
2829 + const-string v4, "PDroid:Instrumentation:execStartActivity: Exception occurred handling intent for unknown package"
2831 + move-object/from16 v0, v16
2833 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2843 + add-int/lit8 v17, v17, 0x1
2851 + .catchall {:try_start_1fa .. :try_end_1fb} :catchall_215
2854 + if-nez v14, :cond_218
2857 + new-instance v2, Landroid/app/Instrumentation$ActivityResult;
2859 + move/from16 v0, p6
2861 + move-object/from16 v1, p5
2863 + invoke-direct {v2, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
2865 + .catch Ljava/lang/Exception; {:try_start_1fd .. :try_end_206} :catch_208
2870 + move-exception v16
2872 + const-string v2, "Instrumentation"
2874 + const-string v4, "PDroid:Instrumentation:execStartActivity: Exception occurred while trying to create ActivityResult"
2876 + move-object/from16 v0, v16
2878 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
2890 + .catchall {:try_start_216 .. :try_end_217} :catchall_215
2898 + move-object/from16 v0, p5
2900 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
2902 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2904 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2906 + move-result-object v2
2908 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2910 + move-result-object v4
2912 + move-object/from16 v0, p5
2914 + invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2916 + move-result-object v5
2918 + if-eqz p4, :cond_24e
2920 + move-object/from16 v0, p4
2922 + iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
2931 + move-object/from16 v4, p5
2933 + move-object/from16 v6, p3
2935 + move/from16 v8, p6
2937 + move-object/from16 v12, p7
2939 + 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
2943 + move/from16 v0, v19
2945 + move-object/from16 v1, p5
2947 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2949 + .catch Landroid/os/RemoteException; {:try_start_219 .. :try_end_24b} :catch_250
2967 +.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;
2970 + move-object/from16 v4, p2
2972 + check-cast v4, Landroid/app/IApplicationThread;
2977 + const-string v3, "Instrumentation"
2979 + new-instance v5, Ljava/lang/StringBuilder;
2981 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
2983 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): execStartActivity for "
2985 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2987 + move-result-object v5
2989 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2991 + move-result-object v6
2993 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2995 + move-result-object v5
2997 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2999 + move-result-object v5
3001 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3003 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3005 + move-result-object v3
3007 + if-eqz v3, :cond_ba
3009 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3011 + move-result-object v3
3013 + const-string v5, "android.intent.action.CALL"
3015 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3019 + if-nez v3, :cond_40
3021 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3023 + move-result-object v3
3025 + const-string v5, "android.intent.action.DIAL"
3027 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3031 + if-eqz v3, :cond_ba
3036 + const-string v3, "Instrumentation"
3038 + new-instance v5, Ljava/lang/StringBuilder;
3040 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3042 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3044 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3046 + move-result-object v5
3048 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3050 + move-result-object v6
3052 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3054 + move-result-object v5
3056 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3058 + move-result-object v5
3060 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3062 + move-object/from16 v0, p0
3064 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3066 + if-eqz v3, :cond_6e
3068 + move-object/from16 v0, p0
3070 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3072 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3076 + if-nez v3, :cond_12e
3079 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
3081 + const-string/jumbo v5, "privacy"
3083 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3085 + move-result-object v5
3087 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3089 + move-result-object v5
3091 + move-object/from16 v0, p1
3093 + invoke-direct {v3, v0, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3095 + move-object/from16 v0, p0
3097 + iput-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3099 + move-object/from16 v0, p0
3101 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3103 + if-eqz v3, :cond_104
3105 + const-string v3, "Instrumentation"
3107 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Obtained privacy service"
3109 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3112 + move-object/from16 v0, p0
3114 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3116 + if-eqz v3, :cond_a1
3118 + move-object/from16 v0, p0
3120 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3122 + invoke-virtual {v3}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3126 + if-nez v3, :cond_137
3129 + const-string v3, "Instrumentation"
3131 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not available: rejecting call attempt"
3133 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3137 + move-object/from16 v0, p0
3139 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3141 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3143 + move-result-object v5
3147 + const-string/jumbo v7, "phoneCall"
3151 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3153 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_ba} :catch_10c
3157 + move-object/from16 v0, p0
3159 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3161 + if-eqz v3, :cond_207
3163 + move-object/from16 v0, p0
3165 + iget-object v5, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
3170 + move-object/from16 v0, p0
3172 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3174 + invoke-interface {v3}, Ljava/util/List;->size()I
3181 + move/from16 v0, v19
3183 + if-ge v0, v15, :cond_206
3185 + move-object/from16 v0, p0
3187 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3189 + move/from16 v0, v19
3191 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
3193 + move-result-object v17
3195 + check-cast v17, Landroid/app/Instrumentation$ActivityMonitor;
3199 + move-object/from16 v0, v17
3201 + move-object/from16 v1, p1
3203 + move-object/from16 v2, p5
3205 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
3209 + if-eqz v3, :cond_202
3211 + move-object/from16 v0, v17
3213 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3215 + add-int/lit8 v3, v3, 0x1
3217 + move-object/from16 v0, v17
3219 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3221 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
3225 + if-eqz v3, :cond_206
3227 + if-ltz p6, :cond_1ff
3229 + invoke-virtual/range {v17 .. v17}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
3231 + move-result-object v3
3236 + .catchall {:try_start_c5 .. :try_end_103} :catchall_221
3243 + const-string v3, "Instrumentation"
3245 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Privacy service not obtained"
3247 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3249 + .catch Ljava/lang/Exception; {:try_start_104 .. :try_end_10b} :catch_10c
3254 + move-exception v18
3256 + if-eqz p1, :cond_1f4
3258 + const-string v3, "Instrumentation"
3260 + new-instance v5, Ljava/lang/StringBuilder;
3262 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3264 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for "
3266 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3268 + move-result-object v5
3270 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3272 + move-result-object v6
3274 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3276 + move-result-object v5
3278 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3280 + move-result-object v5
3282 + move-object/from16 v0, v18
3284 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3290 + const-string v3, "Instrumentation"
3292 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Already had privacy service"
3294 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3299 + move-object/from16 v0, p0
3301 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3303 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3305 + move-result-object v5
3307 + invoke-virtual {v3, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
3309 + move-result-object v20
3311 + if-nez v20, :cond_175
3313 + const-string v3, "Instrumentation"
3315 + new-instance v5, Ljava/lang/StringBuilder;
3317 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3319 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: No settings for package: "
3321 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3323 + move-result-object v5
3325 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3327 + move-result-object v6
3329 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3331 + move-result-object v5
3333 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3335 + move-result-object v5
3337 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3341 + move-object/from16 v0, p0
3343 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3345 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3347 + move-result-object v5
3351 + const-string/jumbo v7, "phoneCall"
3355 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3360 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3364 + if-nez v3, :cond_1ae
3366 + const-string v3, "Instrumentation"
3368 + new-instance v5, Ljava/lang/StringBuilder;
3370 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3372 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call allowed: Settings permit "
3374 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3376 + move-result-object v5
3378 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3380 + move-result-object v6
3382 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3384 + move-result-object v5
3386 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3388 + move-result-object v5
3390 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3394 + move-object/from16 v0, p0
3396 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3398 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3400 + move-result-object v5
3402 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3406 + const-string/jumbo v7, "phoneCall"
3410 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3415 + const-string v3, "Instrumentation"
3417 + new-instance v5, Ljava/lang/StringBuilder;
3419 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
3421 + const-string v6, "PDroid:Instrumentation:execStartActivity (with UserHandle): Call denied: Settings deny "
3423 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3425 + move-result-object v5
3427 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3429 + move-result-object v6
3431 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3433 + move-result-object v5
3435 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3437 + move-result-object v5
3439 + invoke-static {v3, v5}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3441 + move-object/from16 v22, p1
3445 + new-instance v3, Ljava/lang/Thread;
3447 + new-instance v5, Landroid/app/Instrumentation$4;
3449 + move-object/from16 v0, p0
3451 + move-object/from16 v1, v22
3453 + invoke-direct {v5, v0, v1}, Landroid/app/Instrumentation$4;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
3455 + invoke-direct {v3, v5}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
3457 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
3459 + move-object/from16 v0, p0
3461 + iget-object v3, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3463 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3465 + move-result-object v5
3467 + invoke-virtual/range {v20 .. v20}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
3471 + const-string/jumbo v7, "phoneCall"
3475 + invoke-virtual {v3, v5, v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3477 + .catch Ljava/lang/Exception; {:try_start_12e .. :try_end_1f2} :catch_10c
3482 + const-string v3, "Instrumentation"
3484 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred handling intent for unknown package"
3486 + move-object/from16 v0, v18
3488 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3498 + add-int/lit8 v19, v19, 0x1
3506 + .catchall {:try_start_206 .. :try_end_207} :catchall_221
3509 + if-nez v16, :cond_224
3512 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
3514 + move/from16 v0, p6
3516 + move-object/from16 v1, p5
3518 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
3520 + .catch Ljava/lang/Exception; {:try_start_209 .. :try_end_212} :catch_214
3525 + move-exception v18
3527 + const-string v3, "Instrumentation"
3529 + const-string v5, "PDroid:Instrumentation:execStartActivity (with UserHandle): Exception occurred while trying to create ActivityResult"
3531 + move-object/from16 v0, v18
3533 + invoke-static {v3, v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3545 + .catchall {:try_start_222 .. :try_end_223} :catchall_221
3553 + move-object/from16 v0, p5
3555 + invoke-virtual {v0, v3}, Landroid/content/Intent;->setAllowFds(Z)V
3557 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
3559 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
3561 + move-result-object v3
3563 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
3565 + move-result-object v5
3567 + move-object/from16 v0, p5
3569 + invoke-virtual {v0, v5}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
3571 + move-result-object v6
3573 + if-eqz p4, :cond_25e
3575 + move-object/from16 v0, p4
3577 + iget-object v8, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
3586 + invoke-virtual/range {p8 .. p8}, Landroid/os/UserHandle;->getIdentifier()I
3590 + move-object/from16 v5, p5
3592 + move-object/from16 v7, p3
3594 + move/from16 v9, p6
3596 + move-object/from16 v13, p7
3598 + 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
3602 + move/from16 v0, v21
3604 + move-object/from16 v1, p5
3606 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
3608 + .catch Landroid/os/RemoteException; {:try_start_225 .. :try_end_25b} :catch_260
3626 +.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;
3629 + move-object/from16 v3, p2
3631 + check-cast v3, Landroid/app/IApplicationThread;
3636 + const-string v2, "Instrumentation"
3638 + new-instance v4, Ljava/lang/StringBuilder;
3640 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3642 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): execStartActivity for "
3644 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3646 + move-result-object v4
3648 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3650 + move-result-object v5
3652 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3654 + move-result-object v4
3656 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3658 + move-result-object v4
3660 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3662 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3664 + move-result-object v2
3666 + if-eqz v2, :cond_b7
3668 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3670 + move-result-object v2
3672 + const-string v4, "android.intent.action.CALL"
3674 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3678 + if-nez v2, :cond_3f
3680 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
3682 + move-result-object v2
3684 + const-string v4, "android.intent.action.DIAL"
3686 + invoke-virtual {v2, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
3690 + if-eqz v2, :cond_b7
3695 + const-string v2, "Instrumentation"
3697 + new-instance v4, Ljava/lang/StringBuilder;
3699 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3701 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Intent action = Intent.ACTION_CALL or Intent.ACTION_DIAL for "
3703 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3705 + move-result-object v4
3707 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3709 + move-result-object v5
3711 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3713 + move-result-object v4
3715 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3717 + move-result-object v4
3719 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3721 + move-object/from16 v0, p0
3723 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3725 + if-eqz v2, :cond_6c
3727 + move-object/from16 v0, p0
3729 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3731 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3735 + if-nez v2, :cond_125
3738 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
3740 + const-string/jumbo v4, "privacy"
3742 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
3744 + move-result-object v4
3746 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
3748 + move-result-object v4
3750 + move-object/from16 v0, p1
3752 + invoke-direct {v2, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
3754 + move-object/from16 v0, p0
3756 + iput-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3758 + move-object/from16 v0, p0
3760 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3762 + if-eqz v2, :cond_fb
3764 + const-string v2, "Instrumentation"
3766 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Obtained privacy service"
3768 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3771 + move-object/from16 v0, p0
3773 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3775 + if-eqz v2, :cond_9f
3777 + move-object/from16 v0, p0
3779 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3781 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->isServiceAvailable()Z
3785 + if-nez v2, :cond_12e
3788 + const-string v2, "Instrumentation"
3790 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not available: rejecting call attempt"
3792 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3796 + move-object/from16 v0, p0
3798 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3800 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3802 + move-result-object v4
3806 + const-string/jumbo v6, "phoneCall"
3810 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
3812 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_b7} :catch_103
3816 + move-object/from16 v0, p0
3818 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3820 + if-eqz v2, :cond_1fb
3822 + move-object/from16 v0, p0
3824 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
3829 + move-object/from16 v0, p0
3831 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3833 + invoke-interface {v2}, Ljava/util/List;->size()I
3840 + move/from16 v0, v17
3842 + if-ge v0, v13, :cond_1fa
3844 + move-object/from16 v0, p0
3846 + iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
3848 + move/from16 v0, v17
3850 + invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
3852 + move-result-object v15
3854 + check-cast v15, Landroid/app/Instrumentation$ActivityMonitor;
3858 + move-object/from16 v0, p1
3860 + move-object/from16 v1, p5
3862 + invoke-virtual {v15, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
3866 + if-eqz v2, :cond_1f6
3868 + iget v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3870 + add-int/lit8 v2, v2, 0x1
3872 + iput v2, v15, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
3874 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
3878 + if-eqz v2, :cond_1fa
3880 + if-ltz p6, :cond_1f3
3882 + invoke-virtual {v15}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
3884 + move-result-object v2
3889 + .catchall {:try_start_c2 .. :try_end_fa} :catchall_215
3896 + const-string v2, "Instrumentation"
3898 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Privacy service not obtained"
3900 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3902 + .catch Ljava/lang/Exception; {:try_start_fb .. :try_end_102} :catch_103
3907 + move-exception v16
3909 + if-eqz p1, :cond_1e8
3911 + const-string v2, "Instrumentation"
3913 + new-instance v4, Ljava/lang/StringBuilder;
3915 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3917 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for "
3919 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3921 + move-result-object v4
3923 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3925 + move-result-object v5
3927 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3929 + move-result-object v4
3931 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3933 + move-result-object v4
3935 + move-object/from16 v0, v16
3937 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
3943 + const-string v2, "Instrumentation"
3945 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Already had privacy service"
3947 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3952 + move-object/from16 v0, p0
3954 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3956 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3958 + move-result-object v4
3960 + invoke-virtual {v2, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
3962 + move-result-object v18
3964 + if-nez v18, :cond_16b
3966 + const-string v2, "Instrumentation"
3968 + new-instance v4, Ljava/lang/StringBuilder;
3970 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3972 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: No settings for package: "
3974 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3976 + move-result-object v4
3978 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
3980 + move-result-object v5
3982 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3984 + move-result-object v4
3986 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3988 + move-result-object v4
3990 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
3994 + move-object/from16 v0, p0
3996 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
3998 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4000 + move-result-object v4
4004 + const-string/jumbo v6, "phoneCall"
4008 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4013 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4017 + if-nez v2, :cond_1a3
4019 + const-string v2, "Instrumentation"
4021 + new-instance v4, Ljava/lang/StringBuilder;
4023 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4025 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call allowed: Settings permit "
4027 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4029 + move-result-object v4
4031 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4033 + move-result-object v5
4035 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4037 + move-result-object v4
4039 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4041 + move-result-object v4
4043 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4047 + move-object/from16 v0, p0
4049 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4051 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4053 + move-result-object v4
4055 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4059 + const-string/jumbo v6, "phoneCall"
4063 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4068 + const-string v2, "Instrumentation"
4070 + new-instance v4, Ljava/lang/StringBuilder;
4072 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4074 + const-string v5, "PDroid:Instrumentation:execStartActivity (with Fragments): Call denied: Settings deny "
4076 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4078 + move-result-object v4
4080 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4082 + move-result-object v5
4084 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4086 + move-result-object v4
4088 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4090 + move-result-object v4
4092 + invoke-static {v2, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
4094 + move-object/from16 v20, p1
4098 + new-instance v2, Ljava/lang/Thread;
4100 + new-instance v4, Landroid/app/Instrumentation$3;
4102 + move-object/from16 v0, p0
4104 + move-object/from16 v1, v20
4106 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$3;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
4108 + invoke-direct {v2, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
4110 + invoke-virtual {v2}, Ljava/lang/Thread;->start()V
4112 + move-object/from16 v0, p0
4114 + iget-object v2, v0, Landroid/app/Instrumentation;->mPrvSvc:Landroid/privacy/PrivacySettingsManager;
4116 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
4118 + move-result-object v4
4120 + invoke-virtual/range {v18 .. v18}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
4124 + const-string/jumbo v6, "phoneCall"
4128 + invoke-virtual {v2, v4, v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
4130 + .catch Ljava/lang/Exception; {:try_start_125 .. :try_end_1e6} :catch_103
4135 + const-string v2, "Instrumentation"
4137 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred handling intent for unknown package"
4139 + move-object/from16 v0, v16
4141 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4151 + add-int/lit8 v17, v17, 0x1
4159 + .catchall {:try_start_1fa .. :try_end_1fb} :catchall_215
4162 + if-nez v14, :cond_218
4165 + new-instance v2, Landroid/app/Instrumentation$ActivityResult;
4167 + move/from16 v0, p6
4169 + move-object/from16 v1, p5
4171 + invoke-direct {v2, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
4173 + .catch Ljava/lang/Exception; {:try_start_1fd .. :try_end_206} :catch_208
4178 + move-exception v16
4180 + const-string v2, "Instrumentation"
4182 + const-string v4, "PDroid:Instrumentation:execStartActivity (with Fragments): Exception occurred while trying to create ActivityResult"
4184 + move-object/from16 v0, v16
4186 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
4202 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
4204 + .catchall {:try_start_216 .. :try_end_217} :catchall_215
4213 + move-object/from16 v0, p5
4215 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
4217 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
4219 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
4221 + move-result-object v2
4223 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
4225 + move-result-object v4
4227 + move-object/from16 v0, p5
4229 + invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
4231 + move-result-object v5
4233 + if-eqz p4, :cond_24e
4235 + move-object/from16 v0, p4
4237 + iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
4246 + move-object/from16 v4, p5
4248 + move-object/from16 v6, p3
4250 + move/from16 v8, p6
4252 + move-object/from16 v12, p7
4254 + 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
4258 + move/from16 v0, v19
4260 + move-object/from16 v1, p5
4262 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
4264 + .catch Landroid/os/RemoteException; {:try_start_219 .. :try_end_24b} :catch_250
4285 .method public finish(ILandroid/os/Bundle;)V
4286 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali opd-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
4287 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2013-01-21 12:55:57.225901028 -0600
4288 +++ opd-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2013-01-20 23:05:44.339717192 -0600
4291 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4293 - const-string v0, "mStarted="
4294 + const-string/jumbo v0, "mStarted="
4296 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4300 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
4302 - if-eqz v0, :cond_e9
4303 + if-eqz v0, :cond_ea
4305 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4309 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl$LoaderInfo;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
4316 diff -Npru stock-framework/smali/android/content/AsyncTaskLoader.smali opd-framework/smali/android/content/AsyncTaskLoader.smali
4317 --- stock-framework/smali/android/content/AsyncTaskLoader.smali 2013-01-21 12:55:57.417802614 -0600
4318 +++ opd-framework/smali/android/content/AsyncTaskLoader.smali 2013-01-20 23:05:44.587714074 -0600
4319 @@ -167,11 +167,11 @@
4321 iget-object v0, p0, Landroid/content/AsyncTaskLoader;->mTask:Landroid/content/AsyncTaskLoader$LoadTask;
4323 - if-eqz v0, :cond_20
4324 + if-eqz v0, :cond_21
4326 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4328 - const-string v0, "mTask="
4329 + const-string/jumbo v0, "mTask="
4331 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4333 @@ -189,10 +189,10 @@
4335 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Z)V
4339 iget-object v0, p0, Landroid/content/AsyncTaskLoader;->mCancellingTask:Landroid/content/AsyncTaskLoader$LoadTask;
4341 - if-eqz v0, :cond_3d
4342 + if-eqz v0, :cond_3e
4344 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4346 @@ -214,14 +214,14 @@
4348 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Z)V
4352 iget-wide v0, p0, Landroid/content/AsyncTaskLoader;->mUpdateThrottle:J
4354 const-wide/16 v2, 0x0
4358 - if-eqz v0, :cond_64
4359 + if-eqz v0, :cond_65
4361 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4365 invoke-virtual {p3}, Ljava/io/PrintWriter;->println()V
4372 diff -Npru stock-framework/smali/android/content/ContentResolver.smali opd-framework/smali/android/content/ContentResolver.smali
4373 --- stock-framework/smali/android/content/ContentResolver.smali 2013-01-21 12:55:57.049991239 -0600
4374 +++ opd-framework/smali/android/content/ContentResolver.smali 2013-01-20 23:05:44.043720912 -0600
4375 @@ -3541,8 +3541,8 @@
4377 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
4379 - .catchall {:try_start_a .. :try_end_1d} :catchall_b9
4380 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
4381 + .catchall {:try_start_a .. :try_end_1d} :catchall_d5
4382 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_c2
4385 move-object/from16 v4, p1
4386 @@ -3557,25 +3557,39 @@
4389 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;
4391 - .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
4392 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
4393 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
4395 move-result-object v19
4398 - if-nez v19, :cond_6c
4399 + move-object/from16 v0, p0
4401 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4403 + move-object/from16 v0, p1
4405 + move-object/from16 v1, p2
4407 + move-object/from16 v2, v19
4409 + 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;
4411 + .catchall {:try_start_27 .. :try_end_38} :catchall_d5
4412 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_38} :catch_4c
4413 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_38} :catch_c2
4415 + move-result-object v19
4418 + if-nez v19, :cond_88
4422 - if-eqz v3, :cond_36
4423 + if-eqz v3, :cond_44
4425 move-object/from16 v0, p0
4427 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4433 move-object/from16 v0, p0
4434 @@ -3584,32 +3598,32 @@
4444 move-object/from16 v0, p0
4446 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
4448 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4450 - .catchall {:try_start_3f .. :try_end_47} :catchall_b9
4451 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
4453 + .catchall {:try_start_4d .. :try_end_55} :catchall_d5
4454 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_c2
4456 move-result-object v10
4458 - if-nez v10, :cond_5b
4459 + if-nez v10, :cond_69
4463 - if-eqz v3, :cond_53
4464 + if-eqz v3, :cond_61
4466 move-object/from16 v0, p0
4468 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4474 move-object/from16 v0, p0
4475 @@ -3618,7 +3632,7 @@
4481 move-object/from16 v11, p1
4483 move-object/from16 v12, p2
4484 @@ -3631,14 +3645,28 @@
4486 move-object/from16 v16, v9
4490 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;
4492 move-result-object v19
4495 + move-object/from16 v0, p0
4497 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
4499 + move-object/from16 v0, p1
4501 + move-object/from16 v1, p2
4503 + move-object/from16 v2, v19
4505 + 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;
4507 + move-result-object v19
4513 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
4515 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
4516 @@ -3661,11 +3689,11 @@
4518 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
4520 - if-eqz v10, :cond_a1
4521 + if-eqz v10, :cond_bd
4527 move-object/from16 v0, v22
4529 move-object/from16 v1, p0
4530 @@ -3673,19 +3701,19 @@
4531 move-object/from16 v2, v19
4533 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
4535 - .catchall {:try_start_67 .. :try_end_90} :catchall_b9
4536 - .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
4538 + .catchall {:try_start_75 .. :try_end_ac} :catchall_d5
4539 + .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_ac} :catch_c2
4543 - if-eqz v3, :cond_98
4544 + if-eqz v3, :cond_b4
4546 move-object/from16 v0, p0
4548 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4554 move-object/from16 v0, p0
4555 @@ -3694,29 +3722,29 @@
4563 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
4565 - .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
4566 - .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
4568 + .catchall {:try_start_bd .. :try_end_c0} :catchall_d5
4569 + .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c0} :catch_c2
4571 move-result-object v4
4582 - if-eqz v3, :cond_b0
4583 + if-eqz v3, :cond_cc
4585 move-object/from16 v0, p0
4587 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4593 move-object/from16 v0, p0
4594 @@ -3725,23 +3753,23 @@
4602 - if-eqz v3, :cond_c1
4603 + if-eqz v3, :cond_dd
4605 move-object/from16 v0, p0
4607 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
4610 - if-eqz v10, :cond_c8
4612 + if-eqz v10, :cond_e4
4614 move-object/from16 v0, p0
4616 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
4623 diff -Npru stock-framework/smali/android/content/CursorLoader.smali opd-framework/smali/android/content/CursorLoader.smali
4624 --- stock-framework/smali/android/content/CursorLoader.smali 2013-01-21 12:55:57.449786212 -0600
4625 +++ opd-framework/smali/android/content/CursorLoader.smali 2013-01-20 23:05:44.627713571 -0600
4628 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4630 - const-string v0, "mSortOrder="
4631 + const-string/jumbo v0, "mSortOrder="
4633 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4635 diff -Npru stock-framework/smali/android/content/Loader.smali opd-framework/smali/android/content/Loader.smali
4636 --- stock-framework/smali/android/content/Loader.smali 2013-01-21 12:55:57.417802614 -0600
4637 +++ opd-framework/smali/android/content/Loader.smali 2013-01-20 23:05:44.587714074 -0600
4640 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4642 - const-string v0, "mStarted="
4643 + const-string/jumbo v0, "mStarted="
4645 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
4647 diff -Npru stock-framework/smali/android/hardware/Camera$EventHandler.smali opd-framework/smali/android/hardware/Camera$EventHandler.smali
4648 --- stock-framework/smali/android/hardware/Camera$EventHandler.smali 2013-01-21 12:55:57.941534026 -0600
4649 +++ opd-framework/smali/android/hardware/Camera$EventHandler.smali 2013-01-20 23:05:45.143707084 -0600
4650 @@ -36,418 +36,644 @@
4653 .method public handleMessage(Landroid/os/Message;)V
4660 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4662 + #getter for: Landroid/hardware/Camera;->privacyMode:Z
4663 + invoke-static {v0}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Z
4667 + if-nez v0, :cond_e
4669 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4671 + #calls: Landroid/hardware/Camera;->initiate()V
4672 + invoke-static {v0}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)V
4675 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4677 + #calls: Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
4678 + invoke-static {v0}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
4680 + move-result-object v10
4682 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4684 + #calls: Landroid/hardware/Camera;->checkIfPackagesAllowed()I
4685 + invoke-static {v0}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)I
4691 + if-ne v0, v1, :cond_68
4695 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4699 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
4700 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
4702 + if-eqz v10, :cond_48
4704 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4706 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4707 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4709 + move-result-object v0
4713 + aget-object v1, v10, v1
4717 - iget v4, p1, Landroid/os/Message;->what:I
4720 + const-string v4, "camera"
4724 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4726 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4727 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4729 + move-result-object v6
4733 + aget-object v12, v10, v12
4735 + invoke-static {}, Landroid/os/Process;->myUid()I
4739 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4741 - sparse-switch v4, :sswitch_data_158
4742 + move-result-object v6
4744 - const-string v3, "Camera"
4745 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
4747 - new-instance v4, Ljava/lang/StringBuilder;
4750 + iget v0, p1, Landroid/os/Message;->what:I
4752 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
4753 + sparse-switch v0, :sswitch_data_218
4755 - const-string v5, "Unknown message type "
4756 + const-string v0, "Camera"
4758 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4759 + new-instance v1, Ljava/lang/StringBuilder;
4761 - move-result-object v4
4762 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
4764 - iget v5, p1, Landroid/os/Message;->what:I
4765 + const-string v2, "Unknown message type "
4767 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4768 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4770 - move-result-object v4
4771 + move-result-object v1
4773 + iget v2, p1, Landroid/os/Message;->what:I
4775 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
4777 + move-result-object v1
4779 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4780 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4782 - move-result-object v4
4783 + move-result-object v1
4785 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4786 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4795 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4797 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4801 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
4802 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
4804 + if-eqz v10, :cond_48
4806 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4808 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4809 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4811 + move-result-object v0
4815 + aget-object v1, v10, v1
4821 + const-string v4, "camera"
4825 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4827 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4828 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
4830 + move-result-object v6
4834 + aget-object v12, v10, v12
4836 + invoke-static {}, Landroid/os/Process;->myUid()I
4840 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4842 + move-result-object v6
4844 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
4849 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4851 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4852 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4853 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4855 - move-result-object v3
4856 + move-result-object v0
4858 - if-eqz v3, :cond_21
4859 + if-eqz v0, :cond_67
4861 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4862 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4864 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4865 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4866 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4868 - move-result-object v3
4869 + move-result-object v0
4871 - invoke-interface {v3}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
4872 + invoke-interface {v0}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
4878 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4880 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4882 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4883 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4884 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4886 + move-result-object v0
4888 - move-result-object v3
4889 + if-eqz v0, :cond_67
4891 - if-eqz v3, :cond_21
4892 + if-eqz v7, :cond_c1
4894 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4895 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4897 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4898 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4899 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4901 - move-result-object v4
4902 + move-result-object v1
4904 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
4905 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
4913 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
4914 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
4916 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
4917 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
4923 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4925 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4927 + #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4928 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4930 + move-result-object v0
4934 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
4936 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
4941 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4943 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
4944 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4945 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4947 - move-result-object v3
4948 + move-result-object v0
4950 - if-eqz v3, :cond_21
4951 + if-eqz v0, :cond_67
4953 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4954 + if-eqz v7, :cond_eb
4956 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4958 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
4959 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4960 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4962 - move-result-object v4
4963 + move-result-object v1
4965 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
4966 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
4974 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
4975 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
4977 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
4978 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
4984 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4986 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4988 - #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
4989 - invoke-static {v4}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
4990 + #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
4991 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4993 + move-result-object v0
4995 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
4997 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
4998 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5000 move-result-object v1
5002 - if-eqz v1, :cond_21
5003 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5005 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5007 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5011 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5013 + #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5014 + invoke-static {v0}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5016 + move-result-object v9
5018 + if-eqz v9, :cond_67
5020 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5022 #getter for: Landroid/hardware/Camera;->mOneShot:Z
5023 - invoke-static {v4}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;)Z
5024 + invoke-static {v0}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Z
5029 - if-eqz v4, :cond_8a
5030 + if-eqz v0, :cond_123
5032 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5033 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5038 #setter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5039 - invoke-static {v3, v4}, Landroid/hardware/Camera;->access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5040 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5044 + if-eqz v7, :cond_133
5048 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5049 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5057 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5058 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5060 - invoke-interface {v1, v3, v4}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5061 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5067 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5069 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5071 #getter for: Landroid/hardware/Camera;->mWithBuffer:Z
5072 - invoke-static {v4}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Z
5073 + invoke-static {v0}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Z
5077 + if-nez v0, :cond_114
5080 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5082 - if-nez v4, :cond_7e
5085 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5088 #calls: Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5089 - invoke-static {v4, v3, v2}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;ZZ)V
5090 + invoke-static {v0, v1, v2}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;ZZ)V
5095 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5098 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5099 + invoke-static {v0}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5101 + move-result-object v0
5104 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5105 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5107 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
5112 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5114 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5115 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5116 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5118 - move-result-object v3
5119 + move-result-object v0
5121 - if-eqz v3, :cond_21
5122 + if-eqz v0, :cond_67
5124 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5125 + if-eqz v7, :cond_15d
5127 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5129 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5130 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5131 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5133 - move-result-object v4
5134 + move-result-object v1
5136 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5137 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5145 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5146 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5148 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5149 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5157 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5159 + #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5160 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5162 + move-result-object v0
5164 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5166 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
5167 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
5169 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5170 + move-result-object v1
5172 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5174 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
5181 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5183 #getter for: Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5184 - invoke-static {v4}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5185 + invoke-static {v0}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5187 - move-result-object v4
5188 + move-result-object v1
5194 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5196 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5198 #getter for: Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5199 - invoke-static {v5}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5200 + invoke-static {v0}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5202 - move-result-object v0
5203 + move-result-object v8
5207 - .catchall {:try_start_bb .. :try_end_c2} :catchall_cf
5210 + .catchall {:try_start_178 .. :try_end_17f} :catchall_18d
5212 - if-eqz v0, :cond_21
5213 + if-eqz v8, :cond_67
5215 - iget v4, p1, Landroid/os/Message;->arg1:I
5216 + iget v0, p1, Landroid/os/Message;->arg1:I
5218 - if-nez v4, :cond_d2
5219 + if-nez v0, :cond_190
5222 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5225 - invoke-interface {v0, v2, v3}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5227 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5230 + invoke-interface {v8, v11, v0}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
5239 - .catchall {:try_start_d0 .. :try_end_d1} :catchall_cf
5247 + .catchall {:try_start_18e .. :try_end_18f} :catchall_18d
5258 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5262 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5264 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5265 - invoke-static {v4}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5266 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5268 - move-result-object v4
5269 + move-result-object v0
5271 - if-eqz v4, :cond_21
5272 + if-eqz v0, :cond_67
5274 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5275 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5277 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5278 - invoke-static {v4}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5279 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5281 - move-result-object v4
5282 + move-result-object v1
5284 - iget v5, p1, Landroid/os/Message;->arg1:I
5285 + iget v2, p1, Landroid/os/Message;->arg1:I
5287 - iget v6, p1, Landroid/os/Message;->arg2:I
5288 + iget v0, p1, Landroid/os/Message;->arg2:I
5290 - if-eqz v6, :cond_ef
5291 + if-eqz v0, :cond_1ae
5294 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5297 - invoke-interface {v4, v5, v3, v6}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5299 + iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5302 + invoke-interface {v1, v2, v0, v3}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
5313 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5317 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5319 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5320 - invoke-static {v3}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5321 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5323 - move-result-object v3
5324 + move-result-object v0
5326 - if-eqz v3, :cond_21
5327 + if-eqz v0, :cond_67
5329 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5330 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5332 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5333 - invoke-static {v3}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5334 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5336 - move-result-object v4
5337 + move-result-object v1
5339 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5340 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
5342 - check-cast v3, [Landroid/hardware/Camera$Face;
5343 + check-cast v0, [Landroid/hardware/Camera$Face;
5345 - check-cast v3, [Landroid/hardware/Camera$Face;
5346 + check-cast v0, [Landroid/hardware/Camera$Face;
5348 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5349 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5351 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5352 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
5358 - const-string v3, "Camera"
5360 + const-string v0, "Camera"
5362 - new-instance v4, Ljava/lang/StringBuilder;
5363 + new-instance v1, Ljava/lang/StringBuilder;
5365 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
5366 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
5368 - const-string v5, "Error "
5369 + const-string v2, "Error "
5371 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5372 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
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 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5381 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
5383 - move-result-object v4
5384 + move-result-object v1
5386 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5387 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5389 - move-result-object v4
5390 + move-result-object v1
5392 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5393 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5395 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5396 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5398 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5399 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5400 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5402 - move-result-object v3
5403 + move-result-object v0
5405 - if-eqz v3, :cond_21
5406 + if-eqz v0, :cond_67
5408 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5409 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5411 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5412 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5413 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5415 - move-result-object v3
5416 + move-result-object v0
5418 - iget v4, p1, Landroid/os/Message;->arg1:I
5419 + iget v1, p1, Landroid/os/Message;->arg1:I
5421 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5422 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5424 - invoke-interface {v3, v4, v5}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5425 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
5431 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5433 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5435 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5436 - invoke-static {v4}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5437 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5439 - move-result-object v4
5440 + move-result-object v0
5442 - if-eqz v4, :cond_21
5443 + if-eqz v0, :cond_67
5445 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5446 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
5448 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5449 - invoke-static {v4}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5450 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5452 - move-result-object v4
5453 + move-result-object v1
5455 - iget v5, p1, Landroid/os/Message;->arg1:I
5456 + iget v0, p1, Landroid/os/Message;->arg1:I
5458 - if-nez v5, :cond_156
5459 + if-nez v0, :cond_216
5462 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5466 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
5468 - invoke-interface {v4, v2, v3}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5469 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
5485 - 0x1 -> :sswitch_10c
5486 - 0x2 -> :sswitch_22
5487 - 0x4 -> :sswitch_b3
5488 - 0x8 -> :sswitch_d4
5489 - 0x10 -> :sswitch_68
5490 - 0x40 -> :sswitch_98
5491 - 0x80 -> :sswitch_34
5492 - 0x100 -> :sswitch_4e
5493 - 0x400 -> :sswitch_f1
5494 - 0x800 -> :sswitch_13d
5495 + 0x1 -> :sswitch_1cb
5496 + 0x2 -> :sswitch_93
5497 + 0x4 -> :sswitch_170
5498 + 0x8 -> :sswitch_192
5499 + 0x10 -> :sswitch_fe
5500 + 0x40 -> :sswitch_140
5501 + 0x80 -> :sswitch_a5
5502 + 0x100 -> :sswitch_ce
5503 + 0x400 -> :sswitch_1b0
5504 + 0x800 -> :sswitch_1fc
5507 diff -Npru stock-framework/smali/android/hardware/Camera.smali opd-framework/smali/android/hardware/Camera.smali
5508 --- stock-framework/smali/android/hardware/Camera.smali 2013-01-21 12:55:57.945531975 -0600
5509 +++ opd-framework/smali/android/hardware/Camera.smali 2013-01-20 23:05:45.151706984 -0600
5512 .field private static final CAMERA_MSG_ZOOM:I = 0x8
5514 +.field private static final GOT_ERROR:I = -0x3
5516 +.field private static final IS_ALLOWED:I = -0x1
5518 +.field private static final IS_NOT_ALLOWED:I = -0x2
5520 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,Camera"
5522 .field private static final TAG:Ljava/lang/String; = "Camera"
5526 +.field private context:Landroid/content/Context;
5528 .field private mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5530 .field private mAutoFocusCallbackLock:Ljava/lang/Object;
5533 .field private mOneShot:Z
5535 +.field private mPm:Landroid/content/pm/IPackageManager;
5537 .field private mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5539 .field private mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5540 @@ -98,16 +110,20 @@
5542 .field private mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5544 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
5546 +.field private privacyMode:Z
5550 .method constructor <init>()V
5554 - invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5558 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5560 - iput-boolean v0, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5561 + iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5563 new-instance v0, Ljava/lang/Object;
5565 @@ -115,19 +131,21 @@
5567 iput-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5569 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
5574 .method constructor <init>(I)V
5582 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5586 - iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5587 + iput-boolean v3, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
5589 new-instance v1, Ljava/lang/Object;
5593 iput-object v1, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5595 + iput-boolean v3, p0, Landroid/hardware/Camera;->privacyMode:Z
5597 iput-object v2, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5599 iput-object v2, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5600 @@ -147,11 +167,13 @@
5602 iput-object v2, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5604 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
5606 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
5608 move-result-object v0
5610 - if-eqz v0, :cond_30
5611 + if-eqz v0, :cond_35
5613 new-instance v1, Landroid/hardware/Camera$EventHandler;
5617 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5621 new-instance v1, Ljava/lang/ref/WeakReference;
5623 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
5624 @@ -168,12 +190,12 @@
5630 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
5632 move-result-object v0
5634 - if-eqz v0, :cond_3e
5635 + if-eqz v0, :cond_43
5637 new-instance v1, Landroid/hardware/Camera$EventHandler;
5639 @@ -181,12 +203,12 @@
5641 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5648 iput-object v2, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
5654 .method private final native _addCallbackBuffer([BI)V
5655 @@ -207,122 +229,184 @@
5656 .method private final native _stopPreview()V
5659 -.method static synthetic access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5660 +.method static synthetic access$000(Landroid/hardware/Camera;)Z
5663 - iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5664 + iget-boolean v0, p0, Landroid/hardware/Camera;->privacyMode:Z
5670 -.method static synthetic access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5671 +.method static synthetic access$100(Landroid/hardware/Camera;)V
5674 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
5679 +.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5682 - iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5683 + iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5688 -.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5689 +.method static synthetic access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5692 - iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5693 + iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5698 +.method static synthetic access$1100(Landroid/hardware/Camera;)Z
5701 + iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
5706 +.method static synthetic access$1200(Landroid/hardware/Camera;)Z
5709 + iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
5714 +.method static synthetic access$1300(Landroid/hardware/Camera;ZZ)V
5717 + invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5722 +.method static synthetic access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5725 + iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5730 -.method static synthetic access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5731 +.method static synthetic access$1500(Landroid/hardware/Camera;)Ljava/lang/Object;
5734 - iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5735 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5740 -.method static synthetic access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5741 +.method static synthetic access$1600(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5744 - iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5745 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5750 -.method static synthetic access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5751 +.method static synthetic access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
5754 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5755 + iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
5760 -.method static synthetic access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5761 +.method static synthetic access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
5764 - iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5765 + iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
5770 -.method static synthetic access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
5771 +.method static synthetic access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
5774 - iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5775 + iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
5780 -.method static synthetic access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
5781 +.method static synthetic access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
5784 - iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
5785 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5788 + move-result-object v0
5793 -.method static synthetic access$400(Landroid/hardware/Camera;)Z
5794 +.method static synthetic access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
5797 - iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
5798 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
5804 -.method static synthetic access$500(Landroid/hardware/Camera;)Z
5805 +.method static synthetic access$300(Landroid/hardware/Camera;)I
5808 - iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
5809 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
5816 -.method static synthetic access$600(Landroid/hardware/Camera;ZZ)V
5818 +.method static synthetic access$400(Landroid/hardware/Camera;Z)V
5821 - invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
5822 + invoke-direct {p0, p1}, Landroid/hardware/Camera;->dataAccess(Z)V
5827 +.method static synthetic access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
5830 + iget-object v0, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5835 +.method static synthetic access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
5838 + iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
5843 .method static synthetic access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5846 - iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
5847 + iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
5852 -.method static synthetic access$800(Landroid/hardware/Camera;)Ljava/lang/Object;
5853 +.method static synthetic access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
5856 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
5857 + iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
5862 -.method static synthetic access$900(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
5863 +.method static synthetic access$900(Landroid/hardware/Camera;)[B
5866 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
5867 + invoke-direct {p0}, Landroid/hardware/Camera;->getFakeImage()[B
5869 + move-result-object v0
5873 @@ -368,6 +452,205 @@
5877 +.method private checkIfPackagesAllowed()I
5883 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5885 + if-eqz v6, :cond_41
5889 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5891 + move-result-object v3
5893 + invoke-static {}, Landroid/os/Process;->myUid()I
5897 + if-eqz v3, :cond_2c
5902 + array-length v6, v3
5904 + if-ge v1, v6, :cond_2a
5906 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5908 + aget-object v7, v3, v1
5910 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5912 + move-result-object v2
5914 + if-eqz v2, :cond_26
5916 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
5920 + if-eqz v6, :cond_26
5930 + add-int/lit8 v1, v1, 0x1
5940 + const-string v6, "PM,Camera"
5942 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
5944 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5946 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
5953 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
5955 + const-string v6, "PM,Camera"
5957 + const-string v7, "Got exception in checkIfPackagesAllowed"
5959 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5965 + const-string v6, "PM,Camera"
5967 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
5969 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5971 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
5976 +.method private dataAccess(Z)V
5979 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
5981 + move-result-object v1
5983 + if-eqz p1, :cond_2f
5985 + if-eqz v1, :cond_2f
5990 + array-length v2, v1
5992 + if-ge v0, v2, :cond_58
5994 + const-string v2, "PM,Camera"
5996 + new-instance v3, Ljava/lang/StringBuilder;
5998 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6000 + const-string v4, "Allowed Package: -"
6002 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6004 + move-result-object v3
6006 + aget-object v4, v1, v0
6008 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6010 + move-result-object v3
6012 + const-string v4, "- accessing camera."
6014 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6016 + move-result-object v3
6018 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6020 + move-result-object v3
6022 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6024 + add-int/lit8 v0, v0, 0x1
6029 + if-eqz v1, :cond_58
6034 + array-length v2, v1
6036 + if-ge v0, v2, :cond_58
6038 + const-string v2, "PM,Camera"
6040 + new-instance v3, Ljava/lang/StringBuilder;
6042 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6044 + const-string v4, "Blocked Package: -"
6046 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6048 + move-result-object v3
6050 + aget-object v4, v1, v0
6052 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6054 + move-result-object v3
6056 + const-string v4, "- accessing camera."
6058 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6060 + move-result-object v3
6062 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6064 + move-result-object v3
6066 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6068 + add-int/lit8 v0, v0, 0x1
6076 .method private native enableFocusMoveCallback(I)V
6079 @@ -433,9 +716,193 @@
6083 +.method private getFakeImage()[B
6087 + const-string v2, "/system/media/PDroid.jpeg"
6089 + new-instance v5, Ljava/io/File;
6091 + invoke-direct {v5, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6095 + new-instance v3, Ljava/io/FileInputStream;
6097 + invoke-direct {v3, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
6099 + invoke-static {v3}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
6101 + move-result-object v0
6103 + new-instance v4, Ljava/io/ByteArrayOutputStream;
6105 + invoke-direct {v4}, Ljava/io/ByteArrayOutputStream;-><init>()V
6107 + sget-object v6, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
6111 + invoke-virtual {v0, v6, v7, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
6113 + invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
6115 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_20} :catch_22
6117 + move-result-object v6
6125 + const-string v6, "PM,Camera"
6127 + const-string/jumbo v7, "something went wrong with getting the picture!"
6129 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6131 + invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
6138 .method public static native getNumberOfCameras()I
6141 +.method private getPackageName()[Ljava/lang/String;
6145 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6147 + if-eqz v3, :cond_f
6149 + invoke-static {}, Landroid/os/Process;->myUid()I
6153 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6155 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6157 + move-result-object v1
6163 + const-string/jumbo v3, "package"
6165 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6167 + move-result-object v3
6169 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6171 + move-result-object v3
6173 + iput-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6175 + invoke-static {}, Landroid/os/Process;->myUid()I
6179 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6181 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6183 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6185 + move-result-object v1
6192 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6194 + const-string v3, "PM,Camera"
6196 + const-string/jumbo v4, "something went wrong with getting package name"
6198 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6205 +.method private initiate()V
6211 + iput-object v1, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6213 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6215 + iget-object v2, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
6217 + const-string/jumbo v3, "privacy"
6219 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6221 + move-result-object v3
6223 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6225 + move-result-object v3
6227 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6229 + iput-object v1, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6231 + const-string/jumbo v1, "package"
6233 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6235 + move-result-object v1
6237 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6239 + move-result-object v1
6241 + iput-object v1, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
6245 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6247 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6255 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6257 + const-string v1, "PM,Camera"
6259 + const-string v2, "Something went wrong with initalize variables"
6261 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6265 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6270 .method private final native native_autoFocus()V
6273 @@ -1018,7 +1485,7 @@
6276 .method public final takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
6280 iput-object p1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6282 @@ -1028,36 +1495,62 @@
6284 iput-object p4, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6286 + iget-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
6288 + if-nez v1, :cond_f
6290 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
6293 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
6299 + if-ne v1, v2, :cond_20
6303 + iput-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6305 + const-string v1, "PM,Camera"
6307 + const-string v2, "blocked rawImageCallback -> it will never be called!"
6309 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6314 iget-object v1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
6316 - if-eqz v1, :cond_f
6317 + if-eqz v1, :cond_27
6319 or-int/lit8 v0, v0, 0x2
6323 iget-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
6325 - if-eqz v1, :cond_15
6326 + if-eqz v1, :cond_2d
6328 or-int/lit16 v0, v0, 0x80
6332 iget-object v1, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
6334 - if-eqz v1, :cond_1b
6335 + if-eqz v1, :cond_33
6337 or-int/lit8 v0, v0, 0x40
6341 iget-object v1, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
6343 - if-eqz v1, :cond_21
6344 + if-eqz v1, :cond_39
6346 or-int/lit16 v0, v0, 0x100
6350 invoke-direct {p0, v0}, Landroid/hardware/Camera;->native_takePicture(I)V
6353 diff -Npru stock-framework/smali/android/media/AudioRecord.smali opd-framework/smali/android/media/AudioRecord.smali
6354 --- stock-framework/smali/android/media/AudioRecord.smali 2013-01-21 12:55:58.081462265 -0600
6355 +++ opd-framework/smali/android/media/AudioRecord.smali 2013-01-20 23:05:45.251705725 -0600
6358 .field public static final ERROR_INVALID_OPERATION:I = -0x3
6360 +.field private static final GOT_ERROR:I = -0x3
6362 +.field private static final IS_ALLOWED:I = -0x1
6364 +.field private static final IS_NOT_ALLOWED:I = -0x2
6366 .field private static final NATIVE_EVENT_MARKER:I = 0x2
6368 .field private static final NATIVE_EVENT_NEW_POS:I = 0x3
6370 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,AudioRecord"
6372 .field public static final RECORDSTATE_RECORDING:I = 0x3
6374 .field public static final RECORDSTATE_STOPPED:I = 0x1
6379 +.field private context:Landroid/content/Context;
6381 .field private mAudioFormat:I
6383 .field private mChannelConfiguration:I
6386 .field private mNativeRecorderInJavaObj:I
6388 +.field private mPm:Landroid/content/pm/IPackageManager;
6390 .field private mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
6392 .field private final mPositionListenerLock:Ljava/lang/Object;
6395 .field private mState:I
6397 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
6399 +.field private privacyMode:Z
6403 .method public constructor <init>(IIIII)V
6404 @@ -159,6 +175,10 @@
6408 + iput-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
6412 iput v0, p0, Landroid/media/AudioRecord;->mState:I
6417 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
6419 - if-nez v0, :cond_4f
6420 + if-nez v0, :cond_52
6422 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
6426 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
6430 invoke-direct {p0, p1, p2, p3, p4}, Landroid/media/AudioRecord;->audioParamCheck(IIII)V
6432 invoke-direct {p0, p5}, Landroid/media/AudioRecord;->audioBuffSizeCheck(I)V
6437 - if-eqz v8, :cond_8f
6438 + if-eqz v8, :cond_92
6440 new-instance v0, Ljava/lang/StringBuilder;
6442 @@ -242,10 +262,12 @@
6444 invoke-static {v0}, Landroid/media/AudioRecord;->loge(Ljava/lang/String;)V
6452 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
6459 iput v0, p0, Landroid/media/AudioRecord;->mState:I
6465 .method static synthetic access$000(Landroid/media/AudioRecord;)Ljava/lang/Object;
6466 @@ -481,6 +503,205 @@
6470 +.method private checkIfPackagesAllowed()I
6476 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6478 + if-eqz v6, :cond_41
6482 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6484 + move-result-object v3
6486 + invoke-static {}, Landroid/os/Process;->myUid()I
6490 + if-eqz v3, :cond_2c
6495 + array-length v6, v3
6497 + if-ge v1, v6, :cond_2a
6499 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6501 + aget-object v7, v3, v1
6503 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6505 + move-result-object v2
6507 + if-eqz v2, :cond_26
6509 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
6513 + if-eqz v6, :cond_26
6523 + add-int/lit8 v1, v1, 0x1
6533 + const-string v6, "PM,AudioRecord"
6535 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
6537 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6539 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
6546 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6548 + const-string v6, "PM,AudioRecord"
6550 + const-string v7, "Got exception in checkIfPackagesAllowed"
6552 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6558 + const-string v6, "PM,AudioRecord"
6560 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
6562 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6564 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
6569 +.method private dataAccess(Z)V
6572 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6574 + move-result-object v1
6576 + if-eqz p1, :cond_2f
6578 + if-eqz v1, :cond_2f
6583 + array-length v2, v1
6585 + if-ge v0, v2, :cond_58
6587 + const-string v2, "PM,AudioRecord"
6589 + new-instance v3, Ljava/lang/StringBuilder;
6591 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6593 + const-string v4, "Allowed Package: -"
6595 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6597 + move-result-object v3
6599 + aget-object v4, v1, v0
6601 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6603 + move-result-object v3
6605 + const-string v4, "- accessing microphone."
6607 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6609 + move-result-object v3
6611 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6613 + move-result-object v3
6615 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6617 + add-int/lit8 v0, v0, 0x1
6622 + if-eqz v1, :cond_58
6627 + array-length v2, v1
6629 + if-ge v0, v2, :cond_58
6631 + const-string v2, "PM,AudioRecord"
6633 + new-instance v3, Ljava/lang/StringBuilder;
6635 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
6637 + const-string v4, "Blocked Package: -"
6639 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6641 + move-result-object v3
6643 + aget-object v4, v1, v0
6645 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6647 + move-result-object v3
6649 + const-string v4, "- accessing microphone."
6651 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6653 + move-result-object v3
6655 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6657 + move-result-object v3
6659 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6661 + add-int/lit8 v0, v0, 0x1
6669 .method public static getMinBufferSize(III)I
6672 @@ -571,6 +792,135 @@
6676 +.method private getPackageName()[Ljava/lang/String;
6680 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6682 + if-eqz v3, :cond_f
6684 + invoke-static {}, Landroid/os/Process;->myUid()I
6688 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6690 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6692 + move-result-object v1
6698 + const-string/jumbo v3, "package"
6700 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6702 + move-result-object v3
6704 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6706 + move-result-object v3
6708 + iput-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6710 + invoke-static {}, Landroid/os/Process;->myUid()I
6714 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6716 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6718 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6720 + move-result-object v1
6727 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6729 + const-string v3, "PM,AudioRecord"
6731 + const-string/jumbo v4, "something went wrong with getting package name"
6733 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6740 +.method private initiate()V
6746 + iput-object v1, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
6748 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
6750 + iget-object v2, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
6752 + const-string/jumbo v3, "privacy"
6754 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6756 + move-result-object v3
6758 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
6760 + move-result-object v3
6762 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
6764 + iput-object v1, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6766 + const-string/jumbo v1, "package"
6768 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6770 + move-result-object v1
6772 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6774 + move-result-object v1
6776 + iput-object v1, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
6780 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
6782 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
6790 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6792 + const-string v1, "PM,AudioRecord"
6794 + const-string v2, "Something went wrong with initalize variables"
6796 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6800 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
6805 .method private static logd(Ljava/lang/String;)V
6808 @@ -1021,19 +1371,68 @@
6811 .method public startRecording()V
6814 .annotation system Ldalvik/annotation/Throws;
6816 Ljava/lang/IllegalStateException;
6826 + iget-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
6828 + if-nez v0, :cond_a
6830 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
6833 iget v0, p0, Landroid/media/AudioRecord;->mState:I
6836 + if-ne v0, v3, :cond_15
6838 + invoke-direct {p0}, Landroid/media/AudioRecord;->checkIfPackagesAllowed()I
6844 + if-ne v0, v1, :cond_3d
6846 - if-eq v0, v1, :cond_e
6848 + invoke-direct {p0, v2}, Landroid/media/AudioRecord;->dataAccess(Z)V
6850 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6852 + move-result-object v7
6854 + if-eqz v7, :cond_34
6856 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6858 + aget-object v1, v7, v2
6860 + const-string/jumbo v4, "recordAudio"
6862 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6864 + aget-object v8, v7, v2
6866 + invoke-static {}, Landroid/os/Process;->myUid()I
6870 + invoke-virtual {v6, v8, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6872 + move-result-object v6
6874 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
6877 new-instance v0, Ljava/lang/IllegalStateException;
6879 const-string/jumbo v1, "startRecording() called on an uninitialized AudioRecord."
6880 @@ -1042,7 +1441,38 @@
6886 + invoke-direct {p0, v3}, Landroid/media/AudioRecord;->dataAccess(Z)V
6888 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
6890 + move-result-object v7
6892 + if-eqz v7, :cond_5d
6894 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6896 + aget-object v1, v7, v2
6898 + const-string/jumbo v4, "recordAudio"
6900 + iget-object v3, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
6902 + aget-object v6, v7, v2
6904 + invoke-static {}, Landroid/os/Process;->myUid()I
6908 + invoke-virtual {v3, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
6910 + move-result-object v6
6914 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
6917 iget-object v1, p0, Landroid/media/AudioRecord;->mRecordingStateLock:Ljava/lang/Object;
6920 @@ -1051,28 +1481,28 @@
6926 invoke-direct {p0, v0, v2}, Landroid/media/AudioRecord;->native_start(II)I
6930 - if-nez v0, :cond_1c
6931 + if-nez v0, :cond_6b
6935 iput v0, p0, Landroid/media/AudioRecord;->mRecordingState:I
6949 - .catchall {:try_start_13 .. :try_end_20} :catchall_1e
6951 + .catchall {:try_start_62 .. :try_end_6f} :catchall_6d
6955 diff -Npru stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali opd-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali
6956 --- stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 1969-12-31 18:00:00.000000000 -0600
6957 +++ opd-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 2013-01-20 23:05:45.311704972 -0600
6959 +.class Landroid/media/MediaRecorder$PrivacyRunner;
6960 +.super Ljava/lang/Thread;
6961 +.source "MediaRecorder.java"
6965 +.annotation system Ldalvik/annotation/EnclosingClass;
6966 + value = Landroid/media/MediaRecorder;
6969 +.annotation system Ldalvik/annotation/InnerClass;
6971 + name = "PrivacyRunner"
6976 +.field private static final OFFSET_DELAY:J = 0x9c4L
6980 +.field private delay:J
6982 +.field final synthetic this$0:Landroid/media/MediaRecorder;
6986 +.method public constructor <init>(Landroid/media/MediaRecorder;)V
6989 + iput-object p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
6991 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
6993 + const-wide/16 v0, 0x9c4
6995 + iput-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7002 +.method public getDelay()J
7005 + iget-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7010 +.method public run()V
7014 + iget-wide v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7016 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
7018 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7020 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7021 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7023 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7025 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7026 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7028 + move-result-object v2
7030 + if-eqz v2, :cond_2f
7032 + new-instance v1, Ljava/io/File;
7034 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7036 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7037 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7039 + move-result-object v2
7041 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7043 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7047 + if-eqz v2, :cond_29
7049 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7053 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7054 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7056 + .catchall {:try_start_0 .. :try_end_29} :catchall_73
7057 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_29} :catch_57
7061 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7064 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7065 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7071 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7073 + #getter for: Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7074 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7076 + move-result-object v2
7078 + if-eqz v2, :cond_65
7080 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7082 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7083 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7085 + move-result-object v2
7087 + if-eqz v2, :cond_65
7089 + new-instance v1, Ljava/io/File;
7091 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7093 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7094 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7096 + move-result-object v2
7098 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7100 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
7104 + if-eqz v2, :cond_29
7106 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7110 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7111 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7113 + .catchall {:try_start_2f .. :try_end_56} :catchall_73
7114 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_56} :catch_57
7122 + const-string v2, "PM,MediaRecorder"
7124 + const-string v3, "Something went wrong while waiting for cancel the stream!"
7126 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7128 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7130 + .catchall {:try_start_58 .. :try_end_62} :catchall_73
7132 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7138 + const-string v2, "PM,MediaRecorder"
7140 + const-string v3, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
7142 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7144 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7148 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
7149 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
7151 + .catchall {:try_start_65 .. :try_end_72} :catchall_73
7152 + .catch Ljava/lang/Exception; {:try_start_65 .. :try_end_72} :catch_57
7159 + iget-object v3, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
7161 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
7162 + invoke-static {v3}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
7167 +.method public setDelay(J)V
7170 + iput-wide p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
7174 diff -Npru stock-framework/smali/android/media/MediaRecorder.smali opd-framework/smali/android/media/MediaRecorder.smali
7175 --- stock-framework/smali/android/media/MediaRecorder.smali 2013-01-21 12:55:58.825080914 -0600
7176 +++ opd-framework/smali/android/media/MediaRecorder.smali 2013-01-20 23:05:45.315704921 -0600
7179 .annotation system Ldalvik/annotation/MemberClasses;
7181 + Landroid/media/MediaRecorder$PrivacyRunner;,
7182 Landroid/media/MediaRecorder$EventHandler;,
7183 Landroid/media/MediaRecorder$OnInfoListener;,
7184 Landroid/media/MediaRecorder$OnErrorListener;,
7189 +.field private static final BOTH_DATA_ACCESS:I = 0xb
7191 +.field private static final GOT_ERROR:I = -0x3
7193 +.field private static final IS_ALLOWED:I = -0x1
7195 +.field private static final IS_NOT_ALLOWED:I = -0x2
7197 .field public static final MEDIA_ERROR_SERVER_DIED:I = 0x64
7199 .field public static final MEDIA_RECORDER_ERROR_UNKNOWN:I = 0x1
7202 .field public static final MEDIA_RECORDER_TRACK_INTER_CHUNK_TIME_MS:I = 0x3ee
7204 +.field private static final MIC_DATA_ACCESS:I = 0xa
7206 +.field private static final MODE_RECORD_AUDIO:I = 0x2
7208 +.field private static final MODE_RECORD_BOTH:I = 0x3
7210 +.field private static final PRIVACY_PATH_DEF:Ljava/lang/String; = "/data/data/"
7212 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MediaRecorder"
7214 +.field private static final STATE_RECORD_AUDIO:I = 0x0
7216 +.field private static final STATE_RECORD_BOTH:I = 0x1
7218 .field private static final TAG:Ljava/lang/String; = "MediaRecorder"
7222 +.field private ACTUAL_STATE:I
7224 +.field private context:Landroid/content/Context;
7226 +.field private deletedFile:Z
7228 .field private mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7230 .field private mFd:Ljava/io/FileDescriptor;
7233 .field private mPath:Ljava/lang/String;
7235 +.field private mPm:Landroid/content/pm/IPackageManager;
7237 .field private mSurface:Landroid/view/Surface;
7239 +.field private pFileDescriptor:Ljava/io/FileDescriptor;
7241 +.field private pFileDescriptorPath:Ljava/lang/String;
7243 +.field private pPath:Ljava/lang/String;
7245 +.field private pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7247 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
7249 +.field private privacyMode:Z
7251 +.field private stoppedStream:Z
7255 .method static constructor <clinit>()V
7256 @@ -86,15 +131,35 @@
7259 .method public constructor <init>()V
7267 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7269 + iput-object v1, p0, Landroid/media/MediaRecorder;->pPath:Ljava/lang/String;
7271 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7273 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptor:Ljava/io/FileDescriptor;
7275 + iput-object v1, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7277 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7279 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7281 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->stoppedStream:Z
7283 + iput v2, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7285 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
7287 move-result-object v0
7289 - if-eqz v0, :cond_19
7290 + if-eqz v0, :cond_2e
7292 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
7296 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7300 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
7302 new-instance v1, Ljava/lang/ref/WeakReference;
7304 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
7305 @@ -111,12 +178,12 @@
7311 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
7313 move-result-object v0
7315 - if-eqz v0, :cond_27
7316 + if-eqz v0, :cond_3c
7318 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
7320 @@ -124,14 +191,12 @@
7322 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7331 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7337 .method private native _prepare()V
7338 @@ -143,45 +208,1757 @@
7342 -.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
7343 - .annotation system Ldalvik/annotation/Throws;
7345 - Ljava/lang/IllegalStateException;,
7346 - Ljava/io/IOException;
7350 +.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
7351 + .annotation system Ldalvik/annotation/Throws;
7353 + Ljava/lang/IllegalStateException;,
7354 + Ljava/io/IOException;
7359 +.method static synthetic access$000(Landroid/media/MediaRecorder;)I
7362 + iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
7367 +.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
7370 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
7375 +.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
7378 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
7383 +.method static synthetic access$300(Landroid/media/MediaRecorder;)V
7386 + invoke-direct {p0}, Landroid/media/MediaRecorder;->privacyStop()V
7391 +.method static synthetic access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
7394 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7399 +.method static synthetic access$502(Landroid/media/MediaRecorder;Z)Z
7402 + iput-boolean p1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7407 +.method static synthetic access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
7410 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7415 +.method static synthetic access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
7418 + iget-object v0, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7423 +.method private checkIfPackagesAllowed(I)I
7433 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7435 + if-eqz v8, :cond_5b
7439 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7441 + move-result-object v3
7443 + invoke-static {}, Landroid/os/Process;->myUid()I
7447 + if-eqz v3, :cond_51
7449 + packed-switch p1, :pswitch_data_72
7461 + array-length v8, v3
7463 + if-ge v1, v8, :cond_2f
7465 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7467 + aget-object v9, v3, v1
7469 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7471 + move-result-object v2
7473 + if-eqz v2, :cond_2b
7475 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7479 + if-nez v8, :cond_16
7484 + add-int/lit8 v1, v1, 0x1
7497 + array-length v8, v3
7499 + if-ge v1, v8, :cond_4f
7501 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7503 + aget-object v9, v3, v1
7505 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
7507 + move-result-object v2
7509 + if-eqz v2, :cond_4b
7511 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
7515 + if-nez v8, :cond_16
7517 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
7521 + if-nez v8, :cond_16
7526 + add-int/lit8 v1, v1, 0x1
7536 + const-string v5, "PM,MediaRecorder"
7538 + const-string/jumbo v6, "return GOT_ERROR, because package_names are NULL"
7540 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7547 + const-string v5, "PM,MediaRecorder"
7549 + const-string/jumbo v6, "return GOT_ERROR, because pSetMan is NULL"
7551 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7553 + .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_63} :catch_65
7562 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7564 + const-string v5, "PM,MediaRecorder"
7566 + const-string v6, "Got exception in checkIfPackagesAllowed"
7568 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7575 + .packed-switch 0x2
7578 + .end packed-switch
7581 +.method private dataAccess(ZI)V
7584 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7586 + move-result-object v1
7588 + if-eqz p1, :cond_5a
7590 + if-eqz v1, :cond_5a
7592 + packed-switch p2, :pswitch_data_ae
7602 + array-length v2, v1
7604 + if-ge v0, v2, :cond_b
7606 + const-string v2, "PM,MediaRecorder"
7608 + new-instance v3, Ljava/lang/StringBuilder;
7610 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7612 + const-string v4, "Allowed Package: -"
7614 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7616 + move-result-object v3
7618 + aget-object v4, v1, v0
7620 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7622 + move-result-object v3
7624 + const-string v4, "- accessing microphone."
7626 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7628 + move-result-object v3
7630 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7632 + move-result-object v3
7634 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7636 + add-int/lit8 v0, v0, 0x1
7644 + array-length v2, v1
7646 + if-ge v0, v2, :cond_b
7648 + const-string v2, "PM,MediaRecorder"
7650 + new-instance v3, Ljava/lang/StringBuilder;
7652 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7654 + const-string v4, "Allowed Package: -"
7656 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7658 + move-result-object v3
7660 + aget-object v4, v1, v0
7662 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7664 + move-result-object v3
7666 + const-string v4, "- accessing microphone and camera."
7668 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7670 + move-result-object v3
7672 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7674 + move-result-object v3
7676 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7678 + add-int/lit8 v0, v0, 0x1
7683 + if-eqz v1, :cond_b
7685 + packed-switch p2, :pswitch_data_b6
7693 + array-length v2, v1
7695 + if-ge v0, v2, :cond_b
7697 + const-string v2, "PM,MediaRecorder"
7699 + new-instance v3, Ljava/lang/StringBuilder;
7701 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7703 + const-string v4, "Blocked Package: -"
7705 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7707 + move-result-object v3
7709 + aget-object v4, v1, v0
7711 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7713 + move-result-object v3
7715 + const-string v4, "- accessing microphone."
7717 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7719 + move-result-object v3
7721 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7723 + move-result-object v3
7725 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7727 + add-int/lit8 v0, v0, 0x1
7735 + array-length v2, v1
7737 + if-ge v0, v2, :cond_b
7739 + const-string v2, "PM,MediaRecorder"
7741 + new-instance v3, Ljava/lang/StringBuilder;
7743 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
7745 + const-string v4, "Blocked Package: -"
7747 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7749 + move-result-object v3
7751 + aget-object v4, v1, v0
7753 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7755 + move-result-object v3
7757 + const-string v4, "- accessing microphone and camera."
7759 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7761 + move-result-object v3
7763 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7765 + move-result-object v3
7767 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7769 + add-int/lit8 v0, v0, 0x1
7774 + .packed-switch 0xa
7777 + .end packed-switch
7780 + .packed-switch 0xa
7783 + .end packed-switch
7786 +.method public static final getAudioSourceMax()I
7794 +.method private getPackageName()[Ljava/lang/String;
7798 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7800 + if-eqz v3, :cond_f
7802 + invoke-static {}, Landroid/os/Process;->myUid()I
7806 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7808 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7810 + move-result-object v1
7816 + const-string/jumbo v3, "package"
7818 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7820 + move-result-object v3
7822 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
7824 + move-result-object v3
7826 + iput-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7828 + invoke-static {}, Landroid/os/Process;->myUid()I
7832 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7834 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
7836 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
7838 + move-result-object v1
7845 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7847 + const-string v3, "PM,MediaRecorder"
7849 + const-string/jumbo v4, "something went wrong with getting package name"
7851 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7858 +.method private getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
7861 + invoke-direct/range {p0 .. p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7863 + move-result-object v12
7865 + new-instance v14, Ljava/util/Random;
7867 + invoke-direct {v14}, Ljava/util/Random;-><init>()V
7871 + new-instance v15, Ljava/lang/StringBuilder;
7873 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
7875 + invoke-virtual {v14}, Ljava/util/Random;->nextLong()J
7877 + move-result-wide v16
7879 + invoke-virtual/range {v15 .. v17}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
7881 + move-result-object v15
7883 + const-string v16, ".tmp"
7885 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7887 + move-result-object v15
7889 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7891 + move-result-object v2
7900 + array-length v15, v12
7902 + if-ge v11, v15, :cond_247
7905 + new-instance v9, Ljava/io/File;
7907 + new-instance v15, Ljava/lang/StringBuilder;
7909 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
7911 + const-string v16, "/data/data/"
7913 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7915 + move-result-object v15
7917 + aget-object v16, v12, v11
7919 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7921 + move-result-object v15
7923 + const-string v16, "/cache/"
7925 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7927 + move-result-object v15
7929 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7931 + move-result-object v15
7933 + invoke-direct {v9, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7935 + invoke-virtual {v9}, Ljava/io/File;->mkdirs()Z
7937 + new-instance v8, Ljava/io/FileWriter;
7939 + new-instance v15, Ljava/lang/StringBuilder;
7941 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
7943 + const-string v16, "/data/data/"
7945 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7947 + move-result-object v15
7949 + aget-object v16, v12, v11
7951 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7953 + move-result-object v15
7955 + const-string v16, "/cache/"
7957 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7959 + move-result-object v15
7961 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7963 + move-result-object v15
7965 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7967 + move-result-object v15
7969 + invoke-direct {v8, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
7971 + .catchall {:try_start_27 .. :try_end_6e} :catchall_155
7972 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_15c
7975 + const-string/jumbo v15, "test"
7977 + invoke-virtual {v8, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
7979 + invoke-virtual {v8}, Ljava/io/FileWriter;->flush()V
7981 + invoke-virtual {v8}, Ljava/io/FileWriter;->close()V
7983 + new-instance v4, Ljava/io/File;
7985 + new-instance v15, Ljava/lang/StringBuilder;
7987 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
7989 + const-string v16, "/data/data/"
7991 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7993 + move-result-object v15
7995 + aget-object v16, v12, v11
7997 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7999 + move-result-object v15
8001 + const-string v16, "/cache/"
8003 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8005 + move-result-object v15
8007 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8009 + move-result-object v15
8011 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8013 + move-result-object v15
8015 + invoke-direct {v4, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8017 + .catchall {:try_start_6e .. :try_end_9e} :catchall_235
8018 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_23e
8021 + invoke-virtual {v4}, Ljava/io/File;->delete()Z
8023 + const-string v15, "PM,MediaRecorder"
8025 + new-instance v16, Ljava/lang/StringBuilder;
8027 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8029 + const-string v17, "found our package: "
8031 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8033 + move-result-object v16
8035 + aget-object v17, v12, v11
8037 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8039 + move-result-object v16
8041 + const-string v17, " with internal path. File: "
8043 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8045 + move-result-object v16
8047 + move-object/from16 v0, v16
8049 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8051 + move-result-object v16
8053 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8055 + move-result-object v16
8057 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8059 + aget-object v1, v12, v11
8061 + .catchall {:try_start_9e .. :try_end_c9} :catchall_239
8062 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c9} :catch_242
8068 + invoke-static {}, Ljava/lang/System;->gc()V
8070 + move-object v4, v3
8072 + move-object v8, v7
8075 + if-eqz v1, :cond_172
8078 + new-instance v10, Ljava/io/FileOutputStream;
8080 + new-instance v15, Ljava/lang/StringBuilder;
8082 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8084 + const-string v16, "/data/data/"
8086 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8088 + move-result-object v15
8090 + invoke-virtual {v15, v1}, 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 {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8110 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8112 + move-result-object v6
8114 + new-instance v15, Ljava/lang/StringBuilder;
8116 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8118 + const-string v16, "/data/data/"
8120 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8122 + move-result-object v15
8124 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8126 + move-result-object v15
8128 + const-string v16, "/cache/"
8130 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8132 + move-result-object v15
8134 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8136 + move-result-object v15
8138 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8140 + move-result-object v15
8142 + move-object/from16 v0, p0
8144 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8146 + const-string v15, "PM,MediaRecorder"
8148 + new-instance v16, Ljava/lang/StringBuilder;
8150 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8152 + const-string/jumbo v17, "returned fileDescriptor for package: "
8154 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8156 + move-result-object v16
8158 + move-object/from16 v0, v16
8160 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8162 + move-result-object v16
8164 + const-string v17, " with internal path. Path: "
8166 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8168 + move-result-object v16
8170 + const-string v17, "/data/data/"
8172 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8174 + move-result-object v16
8176 + move-object/from16 v0, v16
8178 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8180 + move-result-object v16
8182 + const-string v17, "/cache/"
8184 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8186 + move-result-object v16
8188 + move-object/from16 v0, v16
8190 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8192 + move-result-object v16
8194 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8196 + move-result-object v16
8198 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8200 + .catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_152} :catch_166
8202 + move-object v3, v4
8204 + move-object v7, v8
8210 + move-exception v15
8217 + invoke-static {}, Ljava/lang/System;->gc()V
8222 + move-exception v15
8229 + invoke-static {}, Ljava/lang/System;->gc()V
8231 + add-int/lit8 v11, v11, 0x1
8238 + const-string v15, "PM,MediaRecorder"
8240 + const-string v16, "Got exception while creating fileDescriptor -> return null"
8242 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8246 + move-object v3, v4
8248 + move-object v7, v8
8254 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8256 + move-result-object v15
8258 + invoke-virtual {v15}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8260 + move-result-object v13
8262 + new-instance v7, Ljava/io/FileWriter;
8264 + new-instance v15, Ljava/lang/StringBuilder;
8266 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8268 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8270 + move-result-object v15
8272 + const-string v16, "/"
8274 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8276 + move-result-object v15
8278 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8280 + move-result-object v15
8282 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8284 + move-result-object v15
8286 + invoke-direct {v7, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8288 + .catch Ljava/lang/Exception; {:try_start_172 .. :try_end_196} :catch_22e
8291 + const-string/jumbo v15, "test"
8293 + invoke-virtual {v7, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8295 + invoke-virtual {v7}, Ljava/io/FileWriter;->flush()V
8297 + invoke-virtual {v7}, Ljava/io/FileWriter;->close()V
8299 + new-instance v3, Ljava/io/File;
8301 + new-instance v15, Ljava/lang/StringBuilder;
8303 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8305 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8307 + move-result-object v15
8309 + const-string v16, "/"
8311 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8313 + move-result-object v15
8315 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8317 + move-result-object v15
8319 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8321 + move-result-object v15
8323 + invoke-direct {v3, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8325 + .catch Ljava/lang/Exception; {:try_start_196 .. :try_end_1be} :catch_232
8328 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8330 + new-instance v10, Ljava/io/FileOutputStream;
8332 + new-instance v15, Ljava/lang/StringBuilder;
8334 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8336 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8338 + move-result-object v15
8340 + const-string v16, "/"
8342 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8344 + move-result-object v15
8346 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8348 + move-result-object v15
8350 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8352 + move-result-object v15
8354 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
8356 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
8358 + move-result-object v6
8360 + new-instance v15, Ljava/lang/StringBuilder;
8362 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
8364 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8366 + move-result-object v15
8368 + const-string v16, "/"
8370 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8372 + move-result-object v15
8374 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8376 + move-result-object v15
8378 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8380 + move-result-object v15
8382 + move-object/from16 v0, p0
8384 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
8386 + const-string v15, "PM,MediaRecorder"
8388 + new-instance v16, Ljava/lang/StringBuilder;
8390 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
8392 + const-string v17, "Returned FileDescriptor. Path: "
8394 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8396 + move-result-object v16
8398 + move-object/from16 v0, v16
8400 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8402 + move-result-object v16
8404 + const-string v17, "/"
8406 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8408 + move-result-object v16
8410 + move-object/from16 v0, v16
8412 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8414 + move-result-object v16
8416 + const-string v17, " . It is on SDCard!"
8418 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8420 + move-result-object v16
8422 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8424 + move-result-object v16
8426 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8428 + .catch Ljava/lang/Exception; {:try_start_1be .. :try_end_228} :catch_22a
8443 + move-object v3, v4
8445 + move-object v7, v8
8452 + move-object v3, v4
8457 + move-exception v15
8459 + move-object v7, v8
8464 + move-exception v15
8466 + move-object v3, v4
8468 + move-object v7, v8
8473 + move-exception v15
8475 + move-object v7, v8
8480 + move-exception v15
8482 + move-object v3, v4
8484 + move-object v7, v8
8489 + move-object v4, v3
8491 + move-object v8, v7
8496 +.method private getPrivacyPath()Ljava/lang/String;
8499 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
8501 + move-result-object v9
8503 + new-instance v11, Ljava/util/Random;
8505 + invoke-direct {v11}, Ljava/util/Random;-><init>()V
8509 + new-instance v12, Ljava/lang/StringBuilder;
8511 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8513 + invoke-virtual {v11}, Ljava/util/Random;->nextLong()J
8515 + move-result-wide v13
8517 + invoke-virtual {v12, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
8519 + move-result-object v12
8521 + const-string v13, ".tmp"
8523 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8525 + move-result-object v12
8527 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8529 + move-result-object v1
8538 + array-length v12, v9
8540 + if-ge v8, v12, :cond_1eb
8543 + new-instance v7, Ljava/io/File;
8545 + new-instance v12, Ljava/lang/StringBuilder;
8547 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8549 + const-string v13, "/data/data/"
8551 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8553 + move-result-object v12
8555 + aget-object v13, v9, v8
8557 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8559 + move-result-object v12
8561 + const-string v13, "/cache/"
8563 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8565 + move-result-object v12
8567 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8569 + move-result-object v12
8571 + invoke-direct {v7, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8573 + invoke-virtual {v7}, Ljava/io/File;->mkdirs()Z
8575 + new-instance v6, Ljava/io/FileWriter;
8577 + new-instance v12, Ljava/lang/StringBuilder;
8579 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8581 + const-string v13, "/data/data/"
8583 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8585 + move-result-object v12
8587 + aget-object v13, v9, v8
8589 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8591 + move-result-object v12
8593 + const-string v13, "/cache/"
8595 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8597 + move-result-object v12
8599 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8601 + move-result-object v12
8603 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8605 + move-result-object v12
8607 + invoke-direct {v6, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8609 + .catchall {:try_start_27 .. :try_end_6e} :catchall_12d
8610 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_134
8613 + const-string/jumbo v12, "test"
8615 + invoke-virtual {v6, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8617 + invoke-virtual {v6}, Ljava/io/FileWriter;->flush()V
8619 + invoke-virtual {v6}, Ljava/io/FileWriter;->close()V
8621 + new-instance v3, Ljava/io/File;
8623 + new-instance v12, Ljava/lang/StringBuilder;
8625 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8627 + const-string v13, "/data/data/"
8629 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8631 + move-result-object v12
8633 + aget-object v13, v9, v8
8635 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8637 + move-result-object v12
8639 + const-string v13, "/cache/"
8641 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8643 + move-result-object v12
8645 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8647 + move-result-object v12
8649 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8651 + move-result-object v12
8653 + invoke-direct {v3, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8655 + .catchall {:try_start_6e .. :try_end_9e} :catchall_1d9
8656 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_1e2
8659 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
8661 + const-string v12, "PM,MediaRecorder"
8663 + new-instance v13, Ljava/lang/StringBuilder;
8665 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8667 + const-string v14, "found our package: "
8669 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8671 + move-result-object v13
8673 + aget-object v14, v9, v8
8675 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8677 + move-result-object v13
8679 + const-string v14, " with internal path. File: "
8681 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8683 + move-result-object v13
8685 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8687 + move-result-object v13
8689 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8691 + move-result-object v13
8693 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8695 + aget-object v0, v9, v8
8697 + .catchall {:try_start_9e .. :try_end_c7} :catchall_1dd
8698 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c7} :catch_1e6
8704 + invoke-static {}, Ljava/lang/System;->gc()V
8706 + move-object v3, v2
8708 + move-object v6, v5
8711 + if-eqz v0, :cond_13e
8713 + const-string v12, "PM,MediaRecorder"
8715 + new-instance v13, Ljava/lang/StringBuilder;
8717 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8719 + const-string/jumbo v14, "returned file: "
8721 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8723 + move-result-object v13
8725 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8727 + move-result-object v13
8729 + const-string v14, " for package: "
8731 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8733 + move-result-object v13
8735 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8737 + move-result-object v13
8739 + const-string v14, " with internal path. Path: "
8741 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8743 + move-result-object v13
8745 + const-string v14, "/data/data/"
8747 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8749 + move-result-object v13
8751 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8753 + move-result-object v13
8755 + const-string v14, "/cache/"
8757 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8759 + move-result-object v13
8761 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8763 + move-result-object v13
8765 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8767 + move-result-object v13
8769 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8771 + new-instance v12, Ljava/lang/StringBuilder;
8773 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8775 + const-string v13, "/data/data/"
8777 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8779 + move-result-object v12
8781 + invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8783 + move-result-object v12
8785 + const-string v13, "/cache/"
8787 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8789 + move-result-object v12
8791 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8793 + move-result-object v12
8795 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8797 + move-result-object v12
8799 + move-object v2, v3
8801 + move-object v5, v6
8807 + move-exception v12
8814 + invoke-static {}, Ljava/lang/System;->gc()V
8819 + move-exception v12
8826 + invoke-static {}, Ljava/lang/System;->gc()V
8828 + add-int/lit8 v8, v8, 0x1
8834 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
8836 + move-result-object v12
8838 + invoke-virtual {v12}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
8840 + move-result-object v10
8842 + new-instance v5, Ljava/io/FileWriter;
8844 + new-instance v12, Ljava/lang/StringBuilder;
8846 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8848 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8850 + move-result-object v12
8852 + const-string v13, "/"
8854 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8856 + move-result-object v12
8858 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8860 + move-result-object v12
8862 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8864 + move-result-object v12
8866 + invoke-direct {v5, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
8868 + .catch Ljava/lang/Exception; {:try_start_13e .. :try_end_162} :catch_1ce
8871 + const-string/jumbo v12, "test"
8873 + invoke-virtual {v5, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
8875 + invoke-virtual {v5}, Ljava/io/FileWriter;->flush()V
8877 + invoke-virtual {v5}, Ljava/io/FileWriter;->close()V
8879 + new-instance v2, Ljava/io/File;
8881 + new-instance v12, Ljava/lang/StringBuilder;
8883 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8885 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8887 + move-result-object v12
8889 + const-string v13, "/"
8891 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8893 + move-result-object v12
8895 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8897 + move-result-object v12
8899 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8901 + move-result-object v12
8903 + invoke-direct {v2, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
8905 + .catch Ljava/lang/Exception; {:try_start_162 .. :try_end_18a} :catch_1d4
8908 + invoke-virtual {v2}, Ljava/io/File;->delete()Z
8910 + const-string v12, "PM,MediaRecorder"
8912 + new-instance v13, Ljava/lang/StringBuilder;
8914 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
8916 + const-string v14, "Return filePath: "
8918 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8920 + move-result-object v13
8922 + invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8924 + move-result-object v13
8926 + const-string v14, "/"
8928 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8930 + move-result-object v13
8932 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8934 + move-result-object v13
8936 + const-string v14, " . It is on SDCard!"
8938 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8940 + move-result-object v13
8942 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8944 + move-result-object v13
8946 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8948 + new-instance v12, Ljava/lang/StringBuilder;
8950 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
8952 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8954 + move-result-object v12
8956 + const-string v13, "/"
8958 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8960 + move-result-object v12
8962 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8964 + move-result-object v12
8966 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8968 + .catch Ljava/lang/Exception; {:try_start_18a .. :try_end_1cb} :catch_1d7
8970 + move-result-object v12
8977 + move-object v2, v3
8979 + move-object v5, v6
8989 + move-object v2, v3
8999 + move-exception v12
9001 + move-object v5, v6
9006 + move-exception v12
9008 + move-object v2, v3
9010 + move-object v5, v6
9015 + move-exception v12
9017 + move-object v5, v6
9022 + move-exception v12
9024 + move-object v2, v3
9026 + move-object v5, v6
9031 + move-object v3, v2
9033 + move-object v6, v5
9038 +.method private initiate()V
9044 + iput-object v1, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9046 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
9048 + iget-object v2, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
9050 + const-string/jumbo v3, "privacy"
9052 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9054 + move-result-object v3
9056 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9058 + move-result-object v3
9060 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
9062 + iput-object v1, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9064 + const-string/jumbo v1, "package"
9066 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
9068 -.method static synthetic access$000(Landroid/media/MediaRecorder;)I
9070 + move-result-object v1
9072 - iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
9073 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
9077 + move-result-object v1
9079 -.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
9081 + iput-object v1, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
9083 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
9088 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9090 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
9092 -.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
9097 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
9103 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
9105 -.method public static final getAudioSourceMax()I
9107 + const-string v1, "PM,MediaRecorder"
9110 + const-string v2, "Something went wrong with initalize variables"
9113 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9117 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9122 .method private final native native_finalize()V
9123 @@ -236,17 +2013,104 @@
9127 +.method private privacyStop()V
9131 + invoke-virtual {p0}, Landroid/media/MediaRecorder;->stop()V
9133 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
9141 + const-string v1, "PM,MediaRecorder"
9143 + const-string v2, "Got exception while trying to call privacyStop()"
9145 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9150 .method private native setParameter(Ljava/lang/String;)V
9155 .method protected finalize()V
9161 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9163 + if-nez v1, :cond_18
9165 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9167 + if-eqz v1, :cond_1c
9169 + new-instance v0, Ljava/io/File;
9171 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9173 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9175 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9179 + if-eqz v1, :cond_18
9181 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9185 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_finalize()V
9190 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9192 + if-eqz v1, :cond_34
9194 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9196 + if-eqz v1, :cond_34
9198 + new-instance v0, Ljava/io/File;
9200 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9202 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9204 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9208 + if-eqz v1, :cond_18
9210 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9215 + const-string v1, "PM,MediaRecorder"
9217 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9219 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9223 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9228 .method public native getMaxAmplitude()I
9229 @@ -258,7 +2122,7 @@
9232 .method public prepare()V
9235 .annotation system Ldalvik/annotation/Throws;
9237 Ljava/lang/IllegalStateException;,
9238 @@ -266,20 +2130,75 @@
9242 - const-wide/16 v2, 0x0
9247 + const-wide/16 v13, 0x0
9253 + iget-boolean v0, p0, Landroid/media/MediaRecorder;->privacyMode:Z
9255 + if-nez v0, :cond_d
9257 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
9260 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9264 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9266 + packed-switch v0, :pswitch_data_f2
9270 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9272 + move-result-object v8
9274 + if-nez v9, :cond_2f
9276 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9278 + if-ne v0, v3, :cond_c3
9280 + if-eqz v8, :cond_c3
9282 + array-length v0, v8
9284 + if-lez v0, :cond_c3
9286 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9288 + aget-object v1, v8, v2
9290 + const-string v4, "camera"
9294 + move-object v6, v5
9296 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9300 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9302 - if-eqz v0, :cond_25
9303 + if-eqz v0, :cond_db
9305 - new-instance v6, Ljava/io/FileOutputStream;
9306 + new-instance v7, Ljava/io/FileOutputStream;
9308 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9310 - invoke-direct {v6, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9311 + invoke-direct {v7, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
9314 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9316 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
9318 move-result-object v1
9320 @@ -290,39 +2209,189 @@
9323 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9325 - .catchall {:try_start_d .. :try_end_19} :catchall_20
9327 + .catchall {:try_start_3a .. :try_end_46} :catchall_d6
9329 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9330 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9334 invoke-direct {p0}, Landroid/media/MediaRecorder;->_prepare()V
9342 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9346 + if-ne v0, v1, :cond_15
9348 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9350 + move-result-object v10
9352 + if-eqz v10, :cond_68
9354 + array-length v0, v10
9356 + if-lez v0, :cond_68
9358 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9360 + aget-object v1, v10, v2
9362 + const-string/jumbo v4, "recordAudio"
9364 + move-object v6, v5
9366 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9369 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
9371 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
9373 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9375 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9377 + const-wide/16 v11, 0x32
9379 + invoke-virtual {v0, v11, v12}, Landroid/media/MediaRecorder$PrivacyRunner;->setDelay(J)V
9381 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9383 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
9392 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
9396 + if-ne v0, v1, :cond_15
9398 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
9400 + move-result-object v10
9402 + if-eqz v10, :cond_97
9404 + array-length v0, v10
9406 + if-lez v0, :cond_97
9408 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9410 + aget-object v1, v10, v2
9412 + const-string v4, "camera"
9414 + move-object v6, v5
9416 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9419 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9421 + if-eqz v0, :cond_b0
9423 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyPath()Ljava/lang/String;
9425 + move-result-object v0
9427 + iput-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9430 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
9432 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
9434 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9436 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9438 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
9445 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9447 + if-eqz v0, :cond_bb
9449 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
9451 + move-result-object v0
9453 + iput-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9458 + new-instance v0, Ljava/io/IOException;
9460 + const-string v1, "No valid output file"
9462 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
9467 + if-eqz v8, :cond_2f
9469 + array-length v0, v8
9471 + if-lez v0, :cond_2f
9473 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9475 + aget-object v1, v8, v2
9477 + const-string/jumbo v4, "recordAudio"
9481 + move-object v6, v5
9483 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
9490 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
9491 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
9497 iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9499 - if-eqz v0, :cond_31
9500 + if-eqz v0, :cond_e9
9502 iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9511 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
9518 new-instance v0, Ljava/io/IOException;
9520 const-string v1, "No valid output file"
9521 @@ -330,23 +2399,99 @@
9522 invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
9529 + .packed-switch 0x0
9532 + .end packed-switch
9535 .method public native release()V
9538 .method public reset()V
9546 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_reset()V
9548 - iget-object v0, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
9549 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9552 + if-nez v1, :cond_1c
9554 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9556 + if-eqz v1, :cond_27
9558 + new-instance v0, Ljava/io/File;
9560 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9562 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9564 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9568 + if-eqz v1, :cond_1c
9570 - invoke-virtual {v0, v1}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
9571 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9575 + iput-object v3, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
9577 + invoke-static {}, Ljava/lang/System;->gc()V
9579 + iget-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
9581 + invoke-virtual {v1, v3}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
9586 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9588 + if-eqz v1, :cond_3f
9590 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9592 + if-eqz v1, :cond_3f
9594 + new-instance v0, Ljava/io/File;
9596 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
9598 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9600 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
9604 + if-eqz v1, :cond_1c
9606 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9611 + const-string v1, "PM,MediaRecorder"
9613 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
9615 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9619 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9624 .method public setAudioChannels(I)V
9625 @@ -506,6 +2651,10 @@
9626 .method public setCaptureRate(D)V
9631 + iput v3, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9633 const-string/jumbo v3, "time-lapse-enable=1"
9635 invoke-direct {p0, v3}, Landroid/media/MediaRecorder;->setParameter(Ljava/lang/String;)V
9636 @@ -800,6 +2949,10 @@
9638 iput-object p1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
9642 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9647 @@ -817,6 +2970,10 @@
9649 iput-object p1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
9653 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
9658 @@ -829,7 +2986,11 @@
9661 .method public setPreviewDisplay(Landroid/view/Surface;)V
9667 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9669 iput-object p1, p0, Landroid/media/MediaRecorder;->mSurface:Landroid/view/Surface;
9671 @@ -839,6 +3000,10 @@
9672 .method public setProfile(Landroid/media/CamcorderProfile;)V
9677 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9679 iget v0, p1, Landroid/media/CamcorderProfile;->fileFormat:I
9681 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
9682 @@ -865,18 +3030,18 @@
9686 - if-lt v0, v1, :cond_28
9687 + if-lt v0, v1, :cond_2b
9689 iget v0, p1, Landroid/media/CamcorderProfile;->quality:I
9693 - if-gt v0, v1, :cond_28
9694 + if-gt v0, v1, :cond_2b
9702 iget v0, p1, Landroid/media/CamcorderProfile;->audioBitRate:I
9704 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V
9705 @@ -893,7 +3058,7 @@
9707 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
9713 .method public native setVideoEncoder(I)V
9714 @@ -907,7 +3072,11 @@
9715 .method public setVideoEncodingBitRate(I)V
9718 - if-gtz p1, :cond_a
9721 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
9723 + if-gtz p1, :cond_d
9725 new-instance v0, Ljava/lang/IllegalArgumentException;
9727 @@ -917,7 +3086,7 @@
9733 new-instance v0, Ljava/lang/StringBuilder;
9735 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
9736 diff -Npru stock-framework/smali/android/net/NetworkInfo.smali opd-framework/smali/android/net/NetworkInfo.smali
9737 --- stock-framework/smali/android/net/NetworkInfo.smali 2013-01-21 12:55:58.961011204 -0600
9738 +++ opd-framework/smali/android/net/NetworkInfo.smali 2013-01-20 23:05:45.463703062 -0600
9739 @@ -822,6 +822,14 @@
9743 +.method public setState(Landroid/net/NetworkInfo$State;)V
9746 + iput-object p1, p0, Landroid/net/NetworkInfo;->mState:Landroid/net/NetworkInfo$State;
9751 .method setSubtype(ILjava/lang/String;)V
9754 diff -Npru stock-framework/smali/android/net/wifi/WifiInfo.smali opd-framework/smali/android/net/wifi/WifiInfo.smali
9755 --- stock-framework/smali/android/net/wifi/WifiInfo.smali 2013-01-21 12:55:59.040970198 -0600
9756 +++ opd-framework/smali/android/net/wifi/WifiInfo.smali 2013-01-20 23:05:45.615701151 -0600
9757 @@ -265,6 +265,44 @@
9761 +.method public constructor <init>(Z)V
9766 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
9768 + const-string v0, ""
9770 + invoke-static {v0}, Landroid/net/wifi/WifiSsid;->createFromAsciiEncoded(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
9772 + move-result-object v0
9774 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mWifiSsid:Landroid/net/wifi/WifiSsid;
9776 + const-string v0, ""
9778 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String;
9780 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mNetworkId:I
9782 + sget-object v0, Landroid/net/wifi/SupplicantState;->UNINITIALIZED:Landroid/net/wifi/SupplicantState;
9784 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mSupplicantState:Landroid/net/wifi/SupplicantState;
9786 + const/16 v0, -0x270f
9788 + iput v0, p0, Landroid/net/wifi/WifiInfo;->mRssi:I
9790 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mLinkSpeed:I
9794 + iput-boolean v0, p0, Landroid/net/wifi/WifiInfo;->mHiddenSSID:Z
9799 .method static synthetic access$002(Landroid/net/wifi/WifiInfo;Landroid/net/wifi/WifiSsid;)Landroid/net/wifi/WifiSsid;
9802 diff -Npru stock-framework/smali/android/net/wifi/WifiStateMachine.smali opd-framework/smali/android/net/wifi/WifiStateMachine.smali
9803 --- stock-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-01-21 12:55:59.120929192 -0600
9804 +++ opd-framework/smali/android/net/wifi/WifiStateMachine.smali 2013-01-20 23:05:45.675700396 -0600
9805 @@ -6829,7 +6829,7 @@
9807 invoke-virtual {v2, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
9809 - const-string v2, "mSuspendOptNeedsDisabled "
9810 + const-string/jumbo v2, "mSuspendOptNeedsDisabled "
9812 invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
9814 diff -Npru stock-framework/smali/android/os/storage/StorageVolume.smali opd-framework/smali/android/os/storage/StorageVolume.smali
9815 --- stock-framework/smali/android/os/storage/StorageVolume.smali 2013-01-21 12:55:59.280847180 -0600
9816 +++ opd-framework/smali/android/os/storage/StorageVolume.smali 2013-01-20 23:05:45.871697932 -0600
9819 invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
9821 - const-string v1, "mStorageId="
9822 + const-string/jumbo v1, "mStorageId="
9824 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9826 diff -Npru stock-framework/smali/android/os/SystemProperties.smali opd-framework/smali/android/os/SystemProperties.smali
9827 --- stock-framework/smali/android/os/SystemProperties.smali 2013-01-21 12:55:59.268853332 -0600
9828 +++ opd-framework/smali/android/os/SystemProperties.smali 2013-01-20 23:05:45.851698183 -0600
9833 +.field private static final GOT_ERROR:I = -0x3
9835 +.field private static final IS_ALLOWED:I = -0x1
9837 +.field private static final IS_NOT_ALLOWED:I = -0x2
9839 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "SystemProperties"
9841 .field public static final PROP_NAME_MAX:I = 0x1f
9843 .field public static final PROP_VALUE_MAX:I = 0x5b
9845 .field public static final QCOM_HARDWARE:Z
9847 +.field private static context:Landroid/content/Context;
9849 +.field private static mPm:Landroid/content/pm/IPackageManager;
9851 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
9853 +.field private static privacyMode:Z
9855 .field private static final sChangeCallbacks:Ljava/util/ArrayList;
9856 .annotation system Ldalvik/annotation/Signature;
9859 .method static constructor <clinit>()V
9862 - const-string v0, "com.qc.hardware"
9866 + const-string v0, "com.qc.hardware"
9868 invoke-static {v0, v1}, Landroid/os/SystemProperties;->native_get_boolean(Ljava/lang/String;Z)Z
9873 sput-object v0, Landroid/os/SystemProperties;->sChangeCallbacks:Ljava/util/ArrayList;
9875 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
9880 @@ -154,6 +172,205 @@
9884 +.method private static checkIfPackagesAllowed()I
9890 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9892 + if-eqz v6, :cond_41
9896 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
9898 + move-result-object v3
9900 + invoke-static {}, Landroid/os/Process;->myUid()I
9904 + if-eqz v3, :cond_2c
9909 + array-length v6, v3
9911 + if-ge v1, v6, :cond_2a
9913 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
9915 + aget-object v7, v3, v1
9917 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
9919 + move-result-object v2
9921 + if-eqz v2, :cond_26
9923 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
9927 + if-eqz v6, :cond_26
9937 + add-int/lit8 v1, v1, 0x1
9947 + const-string v6, "SystemProperties"
9949 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
9951 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9953 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
9960 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
9962 + const-string v6, "SystemProperties"
9964 + const-string v7, "Got exception in checkIfPackagesAllowed"
9966 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9972 + const-string v6, "SystemProperties"
9974 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
9976 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
9978 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
9983 +.method private static dataAccess(Z)V
9986 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
9988 + move-result-object v1
9990 + if-eqz p0, :cond_2f
9992 + if-eqz v1, :cond_2f
9997 + array-length v2, v1
9999 + if-ge v0, v2, :cond_58
10001 + const-string v2, "SystemProperties"
10003 + new-instance v3, Ljava/lang/StringBuilder;
10005 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10007 + const-string v4, "Allowed Package: -"
10009 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10011 + move-result-object v3
10013 + aget-object v4, v1, v0
10015 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10017 + move-result-object v3
10019 + const-string v4, "- accessing networkinfo."
10021 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10023 + move-result-object v3
10025 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10027 + move-result-object v3
10029 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10031 + add-int/lit8 v0, v0, 0x1
10036 + if-eqz v1, :cond_58
10041 + array-length v2, v1
10043 + if-ge v0, v2, :cond_58
10045 + const-string v2, "SystemProperties"
10047 + new-instance v3, Ljava/lang/StringBuilder;
10049 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
10051 + const-string v4, "Blocked Package: -"
10053 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10055 + move-result-object v3
10057 + aget-object v4, v1, v0
10059 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10061 + move-result-object v3
10063 + const-string v4, "- accessing networkinfo."
10065 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
10067 + move-result-object v3
10069 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
10071 + move-result-object v3
10073 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10075 + add-int/lit8 v0, v0, 0x1
10083 .method public static get(Ljava/lang/String;)Ljava/lang/String;
10086 @@ -174,11 +391,53 @@
10090 + const-string v0, "gsm.operator.alpha"
10092 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10096 + if-nez v0, :cond_20
10098 + const-string v0, "gsm.operator.numeric"
10100 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10104 + if-eqz v0, :cond_35
10107 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10109 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10115 + if-ne v0, v1, :cond_31
10119 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10121 + const-string v0, ""
10129 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10132 invoke-static {p0}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
10134 move-result-object v0
10140 .method public static get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10141 @@ -201,11 +460,53 @@
10145 + const-string v0, "gsm.operator.alpha"
10147 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10151 + if-nez v0, :cond_20
10153 + const-string v0, "gsm.operator.numeric"
10155 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10159 + if-eqz v0, :cond_35
10162 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
10164 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
10170 + if-ne v0, v1, :cond_31
10174 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10176 + const-string v0, ""
10184 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
10187 invoke-static {p0, p1}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
10189 move-result-object v0
10195 .method public static getBoolean(Ljava/lang/String;Z)Z
10196 @@ -388,6 +689,135 @@
10200 +.method private static getPackageName()[Ljava/lang/String;
10204 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10206 + if-eqz v3, :cond_f
10208 + invoke-static {}, Landroid/os/Process;->myUid()I
10212 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10214 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10216 + move-result-object v1
10222 + const-string/jumbo v3, "package"
10224 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10226 + move-result-object v3
10228 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10230 + move-result-object v3
10232 + sput-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10234 + invoke-static {}, Landroid/os/Process;->myUid()I
10238 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10240 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
10242 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
10244 + move-result-object v1
10249 + move-exception v0
10251 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10253 + const-string v3, "SystemProperties"
10255 + const-string/jumbo v4, "something went wrong with getting package name"
10257 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10264 +.method private static initiate()V
10270 + sput-object v1, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10272 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
10274 + sget-object v2, Landroid/os/SystemProperties;->context:Landroid/content/Context;
10276 + const-string/jumbo v3, "privacy"
10278 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10280 + move-result-object v3
10282 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
10284 + move-result-object v3
10286 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
10288 + sput-object v1, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
10290 + const-string/jumbo v1, "package"
10292 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
10294 + move-result-object v1
10296 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
10298 + move-result-object v1
10300 + sput-object v1, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
10304 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10306 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
10312 + move-exception v0
10314 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
10316 + const-string v1, "SystemProperties"
10318 + const-string v2, "Something went wrong with initalize variables"
10320 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10324 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
10329 .method private static native native_add_change_callback()V
10332 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali opd-framework/smali/android/privacy/IPrivacySettingsManager.smali
10333 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
10334 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager.smali 2013-01-20 23:05:45.899697580 -0600
10336 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
10337 +.super Ljava/lang/Object;
10338 +.source "IPrivacySettingsManager.java"
10341 +.implements Landroid/os/IInterface;
10345 +.annotation system Ldalvik/annotation/MemberClasses;
10347 + Landroid/privacy/IPrivacySettingsManager$Stub;
10353 +.method public abstract addObserver(Ljava/lang/String;)V
10354 + .annotation system Ldalvik/annotation/Throws;
10356 + Landroid/os/RemoteException;
10361 +.method public abstract deleteSettings(Ljava/lang/String;)Z
10362 + .annotation system Ldalvik/annotation/Throws;
10364 + Landroid/os/RemoteException;
10369 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10370 + .annotation system Ldalvik/annotation/Throws;
10372 + Landroid/os/RemoteException;
10377 +.method public abstract getVersion()D
10378 + .annotation system Ldalvik/annotation/Throws;
10380 + Landroid/os/RemoteException;
10385 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10386 + .annotation system Ldalvik/annotation/Throws;
10388 + Landroid/os/RemoteException;
10393 +.method public abstract purgeSettings()Z
10394 + .annotation system Ldalvik/annotation/Throws;
10396 + Landroid/os/RemoteException;
10401 +.method public abstract registerObservers()V
10402 + .annotation system Ldalvik/annotation/Throws;
10404 + Landroid/os/RemoteException;
10409 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
10410 + .annotation system Ldalvik/annotation/Throws;
10412 + Landroid/os/RemoteException;
10417 +.method public abstract setBootCompleted()V
10418 + .annotation system Ldalvik/annotation/Throws;
10420 + Landroid/os/RemoteException;
10425 +.method public abstract setEnabled(Z)Z
10426 + .annotation system Ldalvik/annotation/Throws;
10428 + Landroid/os/RemoteException;
10433 +.method public abstract setNotificationsEnabled(Z)Z
10434 + .annotation system Ldalvik/annotation/Throws;
10436 + Landroid/os/RemoteException;
10440 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
10441 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
10442 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2013-01-20 23:05:45.899697580 -0600
10444 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
10445 +.super Ljava/lang/Object;
10446 +.source "IPrivacySettingsManager.java"
10449 +.implements Landroid/privacy/IPrivacySettingsManager;
10453 +.annotation system Ldalvik/annotation/EnclosingClass;
10454 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
10457 +.annotation system Ldalvik/annotation/InnerClass;
10458 + accessFlags = 0xa
10464 +.field private mRemote:Landroid/os/IBinder;
10468 +.method constructor <init>(Landroid/os/IBinder;)V
10471 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10473 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10480 +.method public addObserver(Ljava/lang/String;)V
10482 + .annotation system Ldalvik/annotation/Throws;
10484 + Landroid/os/RemoteException;
10488 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10490 + move-result-object v0
10492 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10494 + move-result-object v1
10497 + const-string v2, "android.privacy.IPrivacySettingsManager"
10499 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10501 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10503 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10509 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10511 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10513 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
10515 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10517 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10522 + move-exception v2
10524 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10526 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10531 +.method public asBinder()Landroid/os/IBinder;
10534 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10539 +.method public deleteSettings(Ljava/lang/String;)Z
10541 + .annotation system Ldalvik/annotation/Throws;
10543 + Landroid/os/RemoteException;
10549 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10551 + move-result-object v0
10553 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10555 + move-result-object v1
10558 + const-string v3, "android.privacy.IPrivacySettingsManager"
10560 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10562 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10564 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10570 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10572 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10574 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10576 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
10580 + if-eqz v3, :cond_22
10585 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10587 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10592 + move-exception v3
10594 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10596 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10601 +.method public getInterfaceDescriptor()Ljava/lang/String;
10604 + const-string v0, "android.privacy.IPrivacySettingsManager"
10609 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10611 + .annotation system Ldalvik/annotation/Throws;
10613 + 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
10646 + if-eqz v3, :cond_2f
10648 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
10650 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
10652 + move-result-object v2
10654 + check-cast v2, Landroid/privacy/PrivacySettings;
10656 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
10659 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10661 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10671 + move-exception v3
10673 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10675 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10680 +.method public getVersion()D
10682 + .annotation system Ldalvik/annotation/Throws;
10684 + Landroid/os/RemoteException;
10688 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10690 + move-result-object v0
10692 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10694 + move-result-object v1
10697 + const-string v4, "android.privacy.IPrivacySettingsManager"
10699 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10701 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10707 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10709 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10711 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
10713 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
10715 + move-result-wide v2
10717 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10719 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10724 + move-exception v4
10726 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10728 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10733 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10735 + .annotation system Ldalvik/annotation/Throws;
10737 + Landroid/os/RemoteException;
10741 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10743 + move-result-object v0
10745 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10747 + move-result-object v1
10750 + const-string v2, "android.privacy.IPrivacySettingsManager"
10752 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10754 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10756 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
10758 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10760 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
10762 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10768 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10770 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10772 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
10774 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10776 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10781 + move-exception v2
10783 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10785 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10790 +.method public purgeSettings()Z
10792 + .annotation system Ldalvik/annotation/Throws;
10794 + Landroid/os/RemoteException;
10800 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10802 + move-result-object v0
10804 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10806 + move-result-object v1
10809 + const-string v3, "android.privacy.IPrivacySettingsManager"
10811 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10813 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10819 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10821 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10823 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10825 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
10829 + if-eqz v3, :cond_1f
10834 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10836 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10841 + move-exception v3
10843 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10845 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10850 +.method public registerObservers()V
10852 + .annotation system Ldalvik/annotation/Throws;
10854 + Landroid/os/RemoteException;
10858 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10860 + move-result-object v0
10862 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10864 + move-result-object v1
10867 + const-string v2, "android.privacy.IPrivacySettingsManager"
10869 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10871 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10877 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10879 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10881 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
10883 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10885 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10890 + move-exception v2
10892 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10894 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10899 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
10901 + .annotation system Ldalvik/annotation/Throws;
10903 + Landroid/os/RemoteException;
10911 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10913 + move-result-object v0
10915 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10917 + move-result-object v1
10920 + const-string v4, "android.privacy.IPrivacySettingsManager"
10922 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
10924 + if-eqz p1, :cond_30
10928 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
10932 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
10935 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
10941 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
10943 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
10945 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
10947 + .catchall {:try_start_a .. :try_end_26} :catchall_35
10951 + if-eqz v4, :cond_3d
10954 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10956 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10964 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
10966 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
10971 + move-exception v3
10973 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
10975 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
10985 +.method public setBootCompleted()V
10987 + .annotation system Ldalvik/annotation/Throws;
10989 + Landroid/os/RemoteException;
10993 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10995 + move-result-object v0
10997 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
10999 + move-result-object v1
11002 + const-string v2, "android.privacy.IPrivacySettingsManager"
11004 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11006 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11012 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11014 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11016 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
11018 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11020 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11025 + move-exception v2
11027 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11029 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11034 +.method public setEnabled(Z)Z
11036 + .annotation system Ldalvik/annotation/Throws;
11038 + Landroid/os/RemoteException;
11046 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11048 + move-result-object v0
11050 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11052 + move-result-object v1
11055 + const-string v4, "android.privacy.IPrivacySettingsManager"
11057 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11059 + if-eqz p1, :cond_2d
11064 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11066 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11072 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11074 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11076 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11078 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11082 + if-eqz v4, :cond_2f
11085 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11087 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11102 + move-exception v3
11104 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11106 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11111 +.method public setNotificationsEnabled(Z)Z
11113 + .annotation system Ldalvik/annotation/Throws;
11115 + Landroid/os/RemoteException;
11123 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11125 + move-result-object v0
11127 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
11129 + move-result-object v1
11132 + const-string v4, "android.privacy.IPrivacySettingsManager"
11134 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
11136 + if-eqz p1, :cond_2d
11141 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
11143 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
11149 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11151 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
11153 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
11155 + .catchall {:try_start_a .. :try_end_23} :catchall_31
11159 + if-eqz v4, :cond_2f
11162 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11164 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11179 + move-exception v3
11181 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
11183 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
11187 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
11188 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
11189 +++ opd-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2013-01-20 23:05:45.899697580 -0600
11191 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
11192 +.super Landroid/os/Binder;
11193 +.source "IPrivacySettingsManager.java"
11196 +.implements Landroid/privacy/IPrivacySettingsManager;
11200 +.annotation system Ldalvik/annotation/EnclosingClass;
11201 + value = Landroid/privacy/IPrivacySettingsManager;
11204 +.annotation system Ldalvik/annotation/InnerClass;
11205 + accessFlags = 0x409
11209 +.annotation system Ldalvik/annotation/MemberClasses;
11211 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11217 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
11219 +.field static final TRANSACTION_addObserver:I = 0x6
11221 +.field static final TRANSACTION_deleteSettings:I = 0x3
11223 +.field static final TRANSACTION_getSettings:I = 0x1
11225 +.field static final TRANSACTION_getVersion:I = 0x8
11227 +.field static final TRANSACTION_notification:I = 0x4
11229 +.field static final TRANSACTION_purgeSettings:I = 0x7
11231 +.field static final TRANSACTION_registerObservers:I = 0x5
11233 +.field static final TRANSACTION_saveSettings:I = 0x2
11235 +.field static final TRANSACTION_setBootCompleted:I = 0xb
11237 +.field static final TRANSACTION_setEnabled:I = 0x9
11239 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
11243 +.method public constructor <init>()V
11246 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
11248 + const-string v0, "android.privacy.IPrivacySettingsManager"
11250 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
11255 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
11258 + if-nez p0, :cond_4
11266 + const-string v1, "android.privacy.IPrivacySettingsManager"
11268 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
11270 + move-result-object v0
11272 + if-eqz v0, :cond_13
11274 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
11276 + if-eqz v1, :cond_13
11278 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
11283 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
11285 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
11292 +.method public asBinder()Landroid/os/IBinder;
11298 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11300 + .annotation system Ldalvik/annotation/Throws;
11302 + Landroid/os/RemoteException;
11310 + sparse-switch p1, :sswitch_data_10e
11312 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
11320 + const-string v6, "android.privacy.IPrivacySettingsManager"
11322 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
11327 + const-string v8, "android.privacy.IPrivacySettingsManager"
11329 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11331 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11333 + move-result-object v0
11335 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11337 + move-result-object v4
11339 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11341 + if-eqz v4, :cond_29
11343 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
11345 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
11350 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11355 + const-string v8, "android.privacy.IPrivacySettingsManager"
11357 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11359 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11363 + if-eqz v8, :cond_4e
11365 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
11367 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
11369 + move-result-object v0
11371 + check-cast v0, Landroid/privacy/PrivacySettings;
11374 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
11378 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11380 + if-eqz v4, :cond_4a
11385 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)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;->deleteSettings(Ljava/lang/String;)Z
11407 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11409 + if-eqz v4, :cond_63
11414 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11419 + const-string v6, "android.privacy.IPrivacySettingsManager"
11421 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11423 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11425 + move-result-object v0
11427 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
11431 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11433 + move-result-object v2
11435 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11437 + move-result-object v3
11439 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11441 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11446 + const-string v6, "android.privacy.IPrivacySettingsManager"
11448 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11450 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
11452 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11457 + const-string v6, "android.privacy.IPrivacySettingsManager"
11459 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11461 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
11463 + move-result-object v0
11465 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
11467 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11472 + const-string v8, "android.privacy.IPrivacySettingsManager"
11474 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11476 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
11480 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11482 + if-eqz v4, :cond_b0
11487 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11492 + const-string v6, "android.privacy.IPrivacySettingsManager"
11494 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11496 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
11498 + move-result-wide v4
11500 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11502 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
11507 + const-string v8, "android.privacy.IPrivacySettingsManager"
11509 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11511 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11515 + if-eqz v8, :cond_e1
11520 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
11524 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11526 + if-eqz v4, :cond_dc
11531 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11541 + const-string v8, "android.privacy.IPrivacySettingsManager"
11543 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11545 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
11549 + if-eqz v8, :cond_fe
11554 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
11558 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11560 + if-eqz v4, :cond_f9
11565 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
11575 + const-string v6, "android.privacy.IPrivacySettingsManager"
11577 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
11579 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
11581 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
11587 + :sswitch_data_10e
11589 + 0x1 -> :sswitch_10
11590 + 0x2 -> :sswitch_2d
11591 + 0x3 -> :sswitch_50
11592 + 0x4 -> :sswitch_67
11593 + 0x5 -> :sswitch_83
11594 + 0x6 -> :sswitch_90
11595 + 0x7 -> :sswitch_a1
11596 + 0x8 -> :sswitch_b5
11597 + 0x9 -> :sswitch_c6
11598 + 0xa -> :sswitch_e3
11599 + 0xb -> :sswitch_100
11600 + 0x5f4e5446 -> :sswitch_a
11601 + .end sparse-switch
11603 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali opd-framework/smali/android/privacy/PrivacyFileObserver.smali
11604 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
11605 +++ opd-framework/smali/android/privacy/PrivacyFileObserver.smali 2013-01-20 23:05:45.899697580 -0600
11607 +.class public final Landroid/privacy/PrivacyFileObserver;
11608 +.super Landroid/os/FileObserver;
11609 +.source "PrivacyFileObserver.java"
11613 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
11615 +.field public static final SETTINGS_TYPE_INDEX:I = 0x4
11617 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
11621 +.field public absolutePath:Ljava/lang/String;
11623 +.field public children:Ljava/util/HashMap;
11624 + .annotation system Ldalvik/annotation/Signature;
11626 + "Ljava/util/HashMap",
11628 + "Ljava/lang/String;",
11629 + "Landroid/privacy/PrivacyFileObserver;",
11635 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11639 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11642 + const/16 v8, 0xfff
11644 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
11646 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11648 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11650 + new-instance v8, Ljava/util/HashMap;
11652 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
11654 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11656 + new-instance v7, Ljava/io/File;
11658 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11660 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11662 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
11666 + if-eqz v8, :cond_42
11668 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
11670 + move-result-object v6
11672 + move-object v0, v6
11674 + array-length v4, v0
11679 + if-ge v3, v4, :cond_42
11681 + aget-object v2, v0, v3
11683 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
11685 + move-result-object v5
11687 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
11689 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11691 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11693 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
11695 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
11699 + if-eqz v8, :cond_3f
11701 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
11704 + add-int/lit8 v3, v3, 0x1
11714 +.method public addObserver(Ljava/lang/String;)V
11717 + new-instance v2, Ljava/lang/StringBuilder;
11719 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11721 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11723 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11725 + move-result-object v2
11727 + const-string v3, "/"
11729 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11731 + move-result-object v2
11733 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11735 + move-result-object v2
11737 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11739 + move-result-object v1
11741 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11743 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
11745 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
11747 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11749 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
11751 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
11753 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
11758 +.method public onEvent(ILjava/lang/String;)V
11761 + and-int/lit8 v5, p1, 0x1
11763 + if-eqz v5, :cond_48
11765 + new-instance v4, Ljava/util/StringTokenizer;
11767 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
11769 + const-string v6, "/"
11771 + invoke-direct {v4, v5, v6}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
11778 + if-ge v0, v5, :cond_1d
11780 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
11784 + if-eqz v5, :cond_1d
11786 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
11788 + add-int/lit8 v0, v0, 0x1
11793 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
11795 + move-result-object v2
11799 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
11803 + if-eqz v5, :cond_2c
11805 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
11807 + move-result-object v3
11810 + if-eqz v3, :cond_49
11813 + const-string v5, "ipTableProtectSetting"
11815 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11819 + if-eqz v5, :cond_49
11821 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11823 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11825 + move-result-object v1
11827 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11829 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
11833 + const-string v7, "iptables"
11837 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11844 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11846 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
11848 + move-result-object v1
11850 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
11852 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
11856 + const-string/jumbo v7, "systemLogs"
11860 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
11862 + .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_5c} :catch_5d
11867 + move-exception v5
11872 +.method public startWatching()V
11875 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
11879 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali opd-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
11880 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
11881 +++ opd-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2013-01-20 23:05:45.903697529 -0600
11883 +.class public final Landroid/privacy/PrivacyPersistenceAdapter;
11884 +.super Ljava/lang/Object;
11885 +.source "PrivacyPersistenceAdapter.java"
11889 +.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) );"
11891 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
11893 +.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);"
11895 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
11897 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
11899 +.field private static final DATABASE_VERSION:I = 0x4
11901 +.field public static final DUMMY_UID:I = -0x1
11903 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
11905 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
11907 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
11909 +.field private static final LOG_LOCKING:Z = false
11911 +.field private static final RETRY_QUERY_COUNT:I = 0x5
11913 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
11915 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
11917 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
11919 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
11921 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
11923 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
11925 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
11927 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
11929 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
11931 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
11933 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
11935 +.field public static volatile sDbAccessThreads:Ljava/lang/Integer;
11937 +.field private static sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
11939 +.field public static volatile sDbVersion:I
11943 +.field private mContext:Landroid/content/Context;
11945 +.field private mDb:Landroid/database/sqlite/SQLiteDatabase;
11949 +.method static constructor <clinit>()V
11954 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
11956 + move-result-object v0
11958 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
11960 + new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
11962 + invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
11964 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
11966 + const/16 v0, 0x2f
11968 + new-array v0, v0, [Ljava/lang/String;
11970 + const-string v1, "_id"
11972 + aput-object v1, v0, v2
11976 + const-string/jumbo v2, "packageName"
11978 + aput-object v2, v0, v1
11982 + const-string/jumbo v2, "uid"
11984 + aput-object v2, v0, v1
11988 + const-string v2, "deviceIdSetting"
11990 + aput-object v2, v0, v1
11994 + const-string v2, "deviceId"
11996 + aput-object v2, v0, v1
12000 + const-string v2, "line1NumberSetting"
12002 + aput-object v2, v0, v1
12006 + const-string v2, "line1Number"
12008 + aput-object v2, v0, v1
12012 + const-string v2, "locationGpsSetting"
12014 + aput-object v2, v0, v1
12018 + const-string v2, "locationGpsLat"
12020 + aput-object v2, v0, v1
12024 + const-string v2, "locationGpsLon"
12026 + aput-object v2, v0, v1
12030 + const-string v2, "locationNetworkSetting"
12032 + aput-object v2, v0, v1
12036 + const-string v2, "locationNetworkLat"
12038 + aput-object v2, v0, v1
12042 + const-string v2, "locationNetworkLon"
12044 + aput-object v2, v0, v1
12048 + const-string/jumbo v2, "networkInfoSetting"
12050 + aput-object v2, v0, v1
12054 + const-string/jumbo v2, "simInfoSetting"
12056 + aput-object v2, v0, v1
12060 + const-string/jumbo v2, "simSerialNumberSetting"
12062 + aput-object v2, v0, v1
12064 + const/16 v1, 0x10
12066 + const-string/jumbo v2, "simSerialNumber"
12068 + aput-object v2, v0, v1
12070 + const/16 v1, 0x11
12072 + const-string/jumbo v2, "subscriberIdSetting"
12074 + aput-object v2, v0, v1
12076 + const/16 v1, 0x12
12078 + const-string/jumbo v2, "subscriberId"
12080 + aput-object v2, v0, v1
12082 + const/16 v1, 0x13
12084 + const-string v2, "accountsSetting"
12086 + aput-object v2, v0, v1
12088 + const/16 v1, 0x14
12090 + const-string v2, "accountsAuthTokensSetting"
12092 + aput-object v2, v0, v1
12094 + const/16 v1, 0x15
12096 + const-string/jumbo v2, "outgoingCallsSetting"
12098 + aput-object v2, v0, v1
12100 + const/16 v1, 0x16
12102 + const-string v2, "incomingCallsSetting"
12104 + aput-object v2, v0, v1
12106 + const/16 v1, 0x17
12108 + const-string v2, "contactsSetting"
12110 + aput-object v2, v0, v1
12112 + const/16 v1, 0x18
12114 + const-string v2, "calendarSetting"
12116 + aput-object v2, v0, v1
12118 + const/16 v1, 0x19
12120 + const-string/jumbo v2, "mmsSetting"
12122 + aput-object v2, v0, v1
12124 + const/16 v1, 0x1a
12126 + const-string/jumbo v2, "smsSetting"
12128 + aput-object v2, v0, v1
12130 + const/16 v1, 0x1b
12132 + const-string v2, "callLogSetting"
12134 + aput-object v2, v0, v1
12136 + const/16 v1, 0x1c
12138 + const-string v2, "bookmarksSetting"
12140 + aput-object v2, v0, v1
12142 + const/16 v1, 0x1d
12144 + const-string/jumbo v2, "systemLogsSetting"
12146 + aput-object v2, v0, v1
12148 + const/16 v1, 0x1e
12150 + const-string v2, "externalStorageSetting"
12152 + aput-object v2, v0, v1
12154 + const/16 v1, 0x1f
12156 + const-string v2, "cameraSetting"
12158 + aput-object v2, v0, v1
12160 + const/16 v1, 0x20
12162 + const-string/jumbo v2, "recordAudioSetting"
12164 + aput-object v2, v0, v1
12166 + const/16 v1, 0x21
12168 + const-string/jumbo v2, "notificationSetting"
12170 + aput-object v2, v0, v1
12172 + const/16 v1, 0x22
12174 + const-string v2, "intentBootCompletedSetting"
12176 + aput-object v2, v0, v1
12178 + const/16 v1, 0x23
12180 + const-string/jumbo v2, "smsSendSetting"
12182 + aput-object v2, v0, v1
12184 + const/16 v1, 0x24
12186 + const-string/jumbo v2, "phoneCallSetting"
12188 + aput-object v2, v0, v1
12190 + const/16 v1, 0x25
12192 + const-string v2, "ipTableProtectSetting"
12194 + aput-object v2, v0, v1
12196 + const/16 v1, 0x26
12198 + const-string v2, "iccAccessSetting"
12200 + aput-object v2, v0, v1
12202 + const/16 v1, 0x27
12204 + const-string v2, "addOnManagementSetting"
12206 + aput-object v2, v0, v1
12208 + const/16 v1, 0x28
12210 + const-string v2, "androidIdSetting"
12212 + aput-object v2, v0, v1
12214 + const/16 v1, 0x29
12216 + const-string v2, "androidId"
12218 + aput-object v2, v0, v1
12220 + const/16 v1, 0x2a
12222 + const-string/jumbo v2, "wifiInfoSetting"
12224 + aput-object v2, v0, v1
12226 + const/16 v1, 0x2b
12228 + const-string/jumbo v2, "switchConnectivitySetting"
12230 + aput-object v2, v0, v1
12232 + const/16 v1, 0x2c
12234 + const-string/jumbo v2, "sendMmsSetting"
12236 + aput-object v2, v0, v1
12238 + const/16 v1, 0x2d
12240 + const-string v2, "forceOnlineState"
12242 + aput-object v2, v0, v1
12244 + const/16 v1, 0x2e
12246 + const-string/jumbo v2, "switchWifiStateSetting"
12248 + aput-object v2, v0, v1
12250 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
12255 +.method public constructor <init>(Landroid/content/Context;)V
12258 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
12260 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
12262 + new-instance v0, Ljava/io/File;
12264 + const-string v1, "/data/system/"
12266 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12268 + invoke-virtual {v0}, Ljava/io/File;->canWrite()Z
12272 + if-eqz v0, :cond_6c
12274 + new-instance v0, Ljava/io/File;
12276 + const-string v1, "/data/system/privacy.db"
12278 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12280 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12284 + if-eqz v0, :cond_2c
12286 + new-instance v0, Ljava/io/File;
12288 + const-string v1, "/data/system/privacy"
12290 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12292 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12296 + if-nez v0, :cond_5e
12299 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12301 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12303 + move-result-object v0
12305 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
12308 + new-instance v0, Ljava/io/File;
12310 + const-string v1, "/data/system/privacy.db"
12312 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12314 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12318 + if-nez v0, :cond_45
12320 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
12323 + new-instance v0, Ljava/io/File;
12325 + const-string v1, "/data/system/privacy"
12327 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12329 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
12333 + if-nez v0, :cond_55
12335 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
12337 + .catchall {:try_start_35 .. :try_end_55} :catchall_6d
12340 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12342 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12344 + move-result-object v0
12346 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
12349 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
12353 + sput v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12355 + sget v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12359 + if-ge v0, v1, :cond_6c
12361 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase()V
12367 + move-exception v0
12369 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12371 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12373 + move-result-object v1
12375 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
12380 +.method private closeIdleDatabase()V
12383 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12388 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12390 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12392 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12396 + add-int/lit8 v0, v0, -0x1
12398 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12400 + move-result-object v0
12402 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12404 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12406 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
12410 + if-nez v0, :cond_2c
12412 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12414 + if-eqz v0, :cond_2c
12416 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12418 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12422 + if-eqz v0, :cond_2c
12424 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12426 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12434 + move-exception v0
12438 + .catchall {:try_start_3 .. :try_end_30} :catchall_2e
12443 +.method private createDatabase()V
12446 + const-string v2, "PrivacyPersistenceAdapter"
12448 + const-string v3, "createDatabase - creating privacy database file"
12450 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12453 + const-string v2, "/data/system/privacy.db"
12457 + const/high16 v4, 0x1000
12459 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
12461 + move-result-object v0
12463 + const-string v2, "PrivacyPersistenceAdapter"
12465 + const-string v3, "createDatabase - creating privacy database"
12467 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12469 + 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);"
12471 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12473 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
12475 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12477 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
12479 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12481 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
12483 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12485 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
12487 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12489 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
12491 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12493 + if-eqz v0, :cond_40
12495 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12499 + if-eqz v2, :cond_40
12501 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12503 + .catch Landroid/database/SQLException; {:try_start_7 .. :try_end_40} :catch_41
12510 + move-exception v1
12512 + const-string v2, "PrivacyPersistenceAdapter"
12514 + const-string v3, "createDatabase - failed to create privacy database"
12516 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12521 +.method private createSettingsDir()V
12528 + new-instance v0, Ljava/io/File;
12530 + const-string v1, "/data/system/privacy/"
12532 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12534 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
12536 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setReadable(ZZ)Z
12538 + invoke-virtual {v0, v3, v2}, Ljava/io/File;->setExecutable(ZZ)Z
12543 +.method private deleteRecursive(Ljava/io/File;)V
12546 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
12550 + if-eqz v4, :cond_16
12552 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
12554 + move-result-object v0
12556 + array-length v3, v0
12561 + if-ge v2, v3, :cond_16
12563 + aget-object v1, v0, v2
12565 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
12567 + add-int/lit8 v2, v2, 0x1
12572 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
12577 +.method private declared-synchronized getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12583 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12585 + if-eqz v0, :cond_15
12587 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12589 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12593 + if-eqz v0, :cond_15
12595 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12597 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
12601 + if-eqz v0, :cond_1f
12604 + const-string v0, "/data/system/privacy.db"
12610 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
12612 + move-result-object v0
12614 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12617 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->mDb:Landroid/database/sqlite/SQLiteDatabase;
12619 + .catchall {:try_start_1 .. :try_end_21} :catchall_23
12626 + move-exception v0
12633 +.method private getDbVersion()I
12638 + const-string v3, "db_version"
12640 + invoke-virtual {p0, v3}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
12642 + move-result-object v1
12644 + if-nez v1, :cond_11
12646 + const-string v3, "PrivacyPersistenceAdapter"
12648 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: getValue returned null; assuming version = 1"
12650 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12657 + invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
12659 + .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_14} :catch_16
12666 + move-exception v0
12668 + const-string v3, "PrivacyPersistenceAdapter"
12670 + const-string v4, "PrivacyPersistenceAdapter:getDbVersion: failed to parse database version; returning 1"
12672 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12677 +.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;
12679 + .annotation system Ldalvik/annotation/Throws;
12681 + Ljava/lang/Exception;
12692 + if-nez v3, :cond_27
12696 + if-ge v2, v4, :cond_27
12698 + if-eqz v0, :cond_d
12701 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12704 + 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;
12706 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
12708 + move-result-object v0
12713 + add-int/lit8 v2, v2, 0x1
12718 + move-exception v1
12722 + if-eqz p1, :cond_22
12724 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12728 + if-eqz v4, :cond_22
12730 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12733 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12735 + move-result-object p1
12740 + if-nez v3, :cond_32
12742 + new-instance v4, Ljava/lang/Exception;
12744 + const-string/jumbo v5, "query - failed to execute query on the DB"
12746 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
12754 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
12756 + .annotation system Ldalvik/annotation/Throws;
12758 + Ljava/lang/Exception;
12769 + if-nez v3, :cond_28
12773 + if-ge v2, v4, :cond_28
12775 + if-eqz v0, :cond_d
12778 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
12783 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
12785 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
12787 + move-result-object v0
12792 + add-int/lit8 v2, v2, 0x1
12797 + move-exception v1
12801 + if-eqz p1, :cond_23
12803 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12807 + if-eqz v4, :cond_23
12809 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12812 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12814 + move-result-object p1
12819 + if-nez v3, :cond_33
12821 + new-instance v4, Ljava/lang/Exception;
12823 + const-string/jumbo v5, "query - failed to execute query on the DB"
12825 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
12833 +.method private upgradeDatabase()V
12836 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12840 + if-ge v14, v15, :cond_31
12842 + const-string v14, "PrivacyPersistenceAdapter"
12844 + new-instance v15, Ljava/lang/StringBuilder;
12846 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
12848 + const-string v16, "PrivacyPersistenceAdapter:upgradeDatabase - upgrading DB from version "
12850 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12852 + move-result-object v15
12854 + sget v16, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12856 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12858 + move-result-object v15
12860 + const-string v16, " to "
12862 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12864 + move-result-object v15
12866 + const/16 v16, 0x4
12868 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
12870 + move-result-object v15
12872 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12874 + move-result-object v15
12876 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
12880 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12882 + packed-switch v14, :pswitch_data_12c
12890 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12892 + monitor-enter v15
12894 + .catchall {:try_start_32 .. :try_end_35} :catchall_11e
12895 + .catch Landroid/database/SQLException; {:try_start_32 .. :try_end_35} :catch_e6
12898 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12900 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12902 + invoke-virtual {v14}, Ljava/lang/Integer;->intValue()I
12906 + add-int/lit8 v14, v14, 0x1
12908 + invoke-static {v14}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12910 + move-result-object v14
12912 + sput-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
12916 + .catchall {:try_start_35 .. :try_end_46} :catchall_e3
12919 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
12921 + move-result-object v3
12923 + if-eqz v3, :cond_109
12925 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12929 + if-eqz v14, :cond_109
12931 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
12933 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
12935 + move-result-object v14
12937 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->lock()V
12939 + .catchall {:try_start_46 .. :try_end_5b} :catchall_11e
12940 + .catch Landroid/database/SQLException; {:try_start_46 .. :try_end_5b} :catch_e6
12943 + sget v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
12947 + if-ge v14, v15, :cond_100
12949 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
12951 + .catchall {:try_start_5b .. :try_end_63} :catchall_113
12954 + const-string v14, "DROP TABLE IF EXISTS version;"
12956 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12958 + const-string v14, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
12960 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12962 + const-string v14, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
12964 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12966 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
12968 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12970 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
12972 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12974 + const-string v14, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
12976 + invoke-virtual {v3, v14}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
12978 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
12980 + new-instance v11, Ljava/io/File;
12982 + const-string v14, "/data/system/privacy"
12984 + invoke-direct {v11, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
12986 + invoke-virtual {v11}, Ljava/io/File;->listFiles()[Ljava/io/File;
12988 + move-result-object v1
12990 + array-length v7, v1
12997 + if-ge v6, v7, :cond_f7
12999 + aget-object v10, v1, v6
13001 + invoke-virtual {v10}, Ljava/io/File;->listFiles()[Ljava/io/File;
13003 + move-result-object v2
13005 + array-length v8, v2
13010 + if-ge v5, v8, :cond_f3
13012 + aget-object v13, v2, v5
13014 + invoke-virtual {v13}, Ljava/io/File;->isDirectory()Z
13018 + if-eqz v14, :cond_e0
13020 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
13022 + move-result-object v12
13026 + aget-object v14, v12, v14
13028 + if-eqz v14, :cond_e0
13030 + new-instance v9, Ljava/io/File;
13032 + new-instance v14, Ljava/lang/StringBuilder;
13034 + invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
13036 + invoke-virtual {v14, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13038 + move-result-object v14
13040 + const-string v15, "/"
13042 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13044 + move-result-object v14
13048 + aget-object v15, v12, v15
13050 + invoke-virtual {v15}, Ljava/io/File;->getName()Ljava/lang/String;
13052 + move-result-object v15
13054 + invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13056 + move-result-object v14
13058 + invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13060 + move-result-object v14
13062 + invoke-direct {v9, v14}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13064 + invoke-virtual {v9}, Ljava/io/File;->delete()Z
13068 + aget-object v14, v12, v14
13070 + invoke-virtual {v14, v9}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
13072 + move-object/from16 v0, p0
13074 + invoke-direct {v0, v13}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
13076 + .catchall {:try_start_63 .. :try_end_e0} :catchall_10e
13079 + add-int/lit8 v5, v5, 0x1
13084 + move-exception v14
13089 + .catchall {:try_start_e4 .. :try_end_e5} :catchall_e3
13094 + .catchall {:try_start_e5 .. :try_end_e6} :catchall_11e
13095 + .catch Landroid/database/SQLException; {:try_start_e5 .. :try_end_e6} :catch_e6
13098 + move-exception v4
13101 + const-string v14, "PrivacyPersistenceAdapter"
13103 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: SQLException occurred performing database upgrade"
13105 + invoke-static {v14, v15, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13107 + .catchall {:try_start_e7 .. :try_end_ee} :catchall_11e
13109 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13114 + add-int/lit8 v5, v6, 0x1
13122 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13126 + sput v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbVersion:I
13128 + .catchall {:try_start_f7 .. :try_end_fd} :catchall_10e
13131 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13133 + .catchall {:try_start_fd .. :try_end_100} :catchall_113
13137 + sget-object v14, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13139 + invoke-interface {v14}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13141 + move-result-object v14
13143 + invoke-interface {v14}, Ljava/util/concurrent/locks/Lock;->unlock()V
13145 + .catchall {:try_start_100 .. :try_end_109} :catchall_11e
13146 + .catch Landroid/database/SQLException; {:try_start_100 .. :try_end_109} :catch_e6
13149 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13154 + move-exception v14
13157 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13161 + .catchall {:try_start_10f .. :try_end_113} :catchall_113
13164 + move-exception v14
13167 + sget-object v15, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13169 + invoke-interface {v15}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13171 + move-result-object v15
13173 + invoke-interface {v15}, Ljava/util/concurrent/locks/Lock;->unlock()V
13177 + .catchall {:try_start_114 .. :try_end_11e} :catchall_11e
13178 + .catch Landroid/database/SQLException; {:try_start_114 .. :try_end_11e} :catch_e6
13181 + move-exception v14
13183 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13188 + const-string v14, "PrivacyPersistenceAdapter"
13190 + const-string v15, "PrivacyPersistenceAdapter:upgradeDatabase: Database is already at the most recent version"
13192 + invoke-static {v14, v15}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
13196 + :pswitch_data_12c
13197 + .packed-switch 0x1
13202 + .end packed-switch
13205 +.method private writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
13207 + .annotation system Ldalvik/annotation/Throws;
13209 + Ljava/lang/Exception;
13215 + new-instance v2, Ljava/io/File;
13217 + new-instance v5, Ljava/lang/StringBuilder;
13219 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13221 + const-string v6, "/data/system/privacy/"
13223 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13225 + move-result-object v5
13227 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13229 + move-result-object v5
13231 + const-string v6, "/"
13233 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13235 + move-result-object v5
13237 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13239 + move-result-object v5
13241 + invoke-direct {v2, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13243 + new-instance v3, Ljava/io/File;
13245 + new-instance v5, Ljava/lang/StringBuilder;
13247 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13249 + const-string v6, "/data/system/privacy/"
13251 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13253 + move-result-object v5
13255 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13257 + move-result-object v5
13259 + const-string v6, "/"
13261 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13263 + move-result-object v5
13265 + const-string v6, "/"
13267 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13269 + move-result-object v5
13271 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13273 + move-result-object v5
13275 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13277 + move-result-object v5
13279 + invoke-direct {v3, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13283 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13285 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13287 + move-result-object v5
13289 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->lock()V
13292 + invoke-virtual {v2}, Ljava/io/File;->mkdirs()Z
13298 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13304 + invoke-virtual {v2, v5, v6}, Ljava/io/File;->setExecutable(ZZ)Z
13306 + invoke-virtual {v3}, Ljava/io/File;->createNewFile()Z
13312 + invoke-virtual {v3, v5, v6}, Ljava/io/File;->setReadable(ZZ)Z
13314 + new-instance v4, Ljava/io/OutputStreamWriter;
13316 + new-instance v5, Ljava/io/FileOutputStream;
13318 + invoke-direct {v5, v3}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
13320 + invoke-direct {v4, v5}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
13322 + const-string/jumbo v5, "systemLogsSetting"
13324 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13328 + if-eqz v5, :cond_a4
13330 + new-instance v5, Ljava/lang/StringBuilder;
13332 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13334 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
13338 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13340 + move-result-object v5
13342 + const-string v6, ""
13344 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13346 + move-result-object v5
13348 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13350 + move-result-object v5
13352 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13356 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->flush()V
13358 + invoke-virtual {v4}, Ljava/io/OutputStreamWriter;->close()V
13360 + .catchall {:try_start_51 .. :try_end_99} :catchall_d1
13361 + .catch Ljava/io/IOException; {:try_start_51 .. :try_end_99} :catch_c7
13365 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13367 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13369 + move-result-object v5
13371 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
13377 + const-string v5, "ipTableProtectSetting"
13379 + invoke-virtual {p1, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
13383 + if-eqz v5, :cond_93
13385 + new-instance v5, Ljava/lang/StringBuilder;
13387 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
13389 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
13393 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
13395 + move-result-object v5
13397 + const-string v6, ""
13399 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13401 + move-result-object v5
13403 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13405 + move-result-object v5
13407 + invoke-virtual {v4, v5}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
13409 + .catchall {:try_start_a4 .. :try_end_c6} :catchall_d1
13410 + .catch Ljava/io/IOException; {:try_start_a4 .. :try_end_c6} :catch_c7
13415 + move-exception v0
13418 + new-instance v5, Ljava/lang/Exception;
13420 + const-string/jumbo v6, "saveSettings - could not write settings to file"
13422 + invoke-direct {v5, v6, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
13426 + .catchall {:try_start_c8 .. :try_end_d1} :catchall_d1
13429 + move-exception v5
13431 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13433 + invoke-interface {v6}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13435 + move-result-object v6
13437 + invoke-interface {v6}, Ljava/util/concurrent/locks/Lock;->unlock()V
13444 +.method public deleteSettings(Ljava/lang/String;)Z
13452 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13456 + .catchall {:try_start_2 .. :try_end_5} :catchall_148
13457 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2 .. :try_end_5} :catch_fe
13458 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_13b
13461 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13463 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13465 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
13469 + add-int/lit8 v1, v1, 0x1
13471 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13473 + move-result-object v1
13475 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13479 + .catchall {:try_start_5 .. :try_end_16} :catchall_fb
13482 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13484 + move-result-object v0
13486 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13488 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13490 + move-result-object v1
13492 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
13494 + .catchall {:try_start_16 .. :try_end_23} :catchall_148
13495 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_16 .. :try_end_23} :catch_fe
13496 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_23} :catch_13b
13499 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
13501 + .catchall {:try_start_23 .. :try_end_26} :catchall_130
13504 + const-string/jumbo v1, "settings"
13508 + new-array v2, v2, [Ljava/lang/String;
13512 + const-string v4, "_id"
13514 + aput-object v4, v2, v3
13516 + const-string/jumbo v3, "packageName=?"
13520 + new-array v4, v4, [Ljava/lang/String;
13524 + aput-object p1, v4, v5
13532 + 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;
13534 + move-result-object v8
13536 + if-eqz v8, :cond_10b
13538 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
13542 + if-lez v1, :cond_10b
13544 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
13548 + if-eqz v1, :cond_10b
13552 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
13556 + const-string v1, "allowed_contacts"
13558 + const-string/jumbo v2, "settings_id=?"
13562 + new-array v3, v3, [Ljava/lang/String;
13566 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
13568 + move-result-object v5
13570 + aput-object v5, v3, v4
13572 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
13574 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
13577 + const-string/jumbo v1, "settings"
13579 + const-string/jumbo v2, "packageName=?"
13583 + new-array v3, v3, [Ljava/lang/String;
13587 + aput-object p1, v3, v4
13589 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
13593 + if-nez v1, :cond_99
13595 + const-string v1, "PrivacyPersistenceAdapter"
13597 + new-instance v2, Ljava/lang/StringBuilder;
13599 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13601 + const-string v3, "deleteSettings - database entry for "
13603 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13605 + move-result-object v2
13607 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13609 + move-result-object v2
13611 + const-string v3, " not found"
13613 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13615 + move-result-object v2
13617 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13619 + move-result-object v2
13621 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13624 + new-instance v12, Ljava/io/File;
13626 + new-instance v1, Ljava/lang/StringBuilder;
13628 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13630 + const-string v2, "/data/system/privacy/"
13632 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13634 + move-result-object v1
13636 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13638 + move-result-object v1
13640 + const-string v2, "/"
13642 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13644 + move-result-object v1
13646 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13648 + move-result-object v1
13650 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13652 + new-instance v13, Ljava/io/File;
13654 + new-instance v1, Ljava/lang/StringBuilder;
13656 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
13658 + const-string v2, "/data/system/privacy/"
13660 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13662 + move-result-object v1
13664 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13666 + move-result-object v1
13668 + const-string v2, "/systemLogsSetting"
13670 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13672 + move-result-object v1
13674 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13676 + move-result-object v1
13678 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13680 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
13682 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
13684 + move-result-object v1
13686 + if-eqz v1, :cond_e5
13688 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
13690 + move-result-object v1
13692 + array-length v1, v1
13694 + if-nez v1, :cond_e8
13697 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
13700 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
13702 + .catchall {:try_start_26 .. :try_end_eb} :catchall_12b
13705 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13707 + .catchall {:try_start_eb .. :try_end_ee} :catchall_130
13710 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13712 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13714 + move-result-object v1
13716 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
13718 + .catchall {:try_start_ee .. :try_end_f7} :catchall_148
13719 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_ee .. :try_end_f7} :catch_fe
13720 + .catch Ljava/lang/Exception; {:try_start_ee .. :try_end_f7} :catch_13b
13722 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13728 + move-exception v1
13733 + .catchall {:try_start_fc .. :try_end_fd} :catchall_fb
13738 + .catchall {:try_start_fd .. :try_end_fe} :catchall_148
13739 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_fd .. :try_end_fe} :catch_fe
13740 + .catch Ljava/lang/Exception; {:try_start_fd .. :try_end_fe} :catch_13b
13743 + move-exception v9
13748 + const-string v1, "PrivacyPersistenceAdapter"
13750 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings: failed to open the database, or open a transaction"
13752 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13754 + .catchall {:try_start_100 .. :try_end_107} :catchall_148
13756 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13762 + const-string v1, "PrivacyPersistenceAdapter"
13764 + new-instance v2, Ljava/lang/StringBuilder;
13766 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13768 + const-string v3, "deleteSettings - database entry for "
13770 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13772 + move-result-object v2
13774 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13776 + move-result-object v2
13778 + const-string v3, " not found"
13780 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13782 + move-result-object v2
13784 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13786 + move-result-object v2
13788 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13790 + .catchall {:try_start_10b .. :try_end_129} :catchall_12b
13795 + move-exception v1
13798 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
13802 + .catchall {:try_start_12c .. :try_end_130} :catchall_130
13805 + move-exception v1
13808 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13810 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
13812 + move-result-object v2
13814 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
13818 + .catchall {:try_start_131 .. :try_end_13b} :catchall_148
13819 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_131 .. :try_end_13b} :catch_fe
13820 + .catch Ljava/lang/Exception; {:try_start_131 .. :try_end_13b} :catch_13b
13823 + move-exception v9
13828 + const-string v1, "PrivacyPersistenceAdapter"
13830 + const-string v2, "PrivacyPersistenceAdapter:deleteSettings - could not delete settings"
13832 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13834 + .catchall {:try_start_13d .. :try_end_144} :catchall_148
13836 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13841 + move-exception v1
13843 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
13848 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
13851 + const/16 v55, 0x0
13853 + if-nez p1, :cond_c
13855 + new-instance v1, Ljava/security/InvalidParameterException;
13857 + const-string v4, "PrivacyPersistenceAdapter:getSettings:insufficient application identifier - package name is required"
13859 + invoke-direct {v1, v4}, Ljava/security/InvalidParameterException;-><init>(Ljava/lang/String;)V
13865 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13869 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_c .. :try_end_f} :catch_2ce
13872 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13874 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13876 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
13880 + add-int/lit8 v1, v1, 0x1
13882 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13884 + move-result-object v1
13886 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
13890 + .catchall {:try_start_f .. :try_end_20} :catchall_2cb
13893 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
13895 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_2ce
13897 + move-result-object v2
13899 + const/16 v53, 0x0
13901 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
13903 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
13905 + move-result-object v1
13907 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->lock()V
13910 + const-string/jumbo v3, "settings"
13912 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
13914 + const-string/jumbo v5, "packageName=?"
13918 + new-array v6, v1, [Ljava/lang/String;
13922 + aput-object p1, v6, v1
13932 + move-object/from16 v1, p0
13934 + 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;
13936 + move-result-object v53
13938 + if-eqz v53, :cond_310
13940 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
13946 + if-eq v1, v4, :cond_6a
13948 + const-string v1, "PrivacyPersistenceAdapter"
13950 + new-instance v4, Ljava/lang/StringBuilder;
13952 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
13954 + const-string v5, "Multiple privacy settings found for package "
13956 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13958 + move-result-object v4
13960 + move-object/from16 v0, p1
13962 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13964 + move-result-object v4
13966 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13968 + move-result-object v4
13970 + invoke-static {v1, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
13973 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToFirst()Z
13977 + if-eqz v1, :cond_310
13979 + new-instance v3, Landroid/privacy/PrivacySettings;
13983 + move-object/from16 v0, v53
13985 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
13989 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13991 + move-result-object v4
13995 + move-object/from16 v0, v53
13997 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13999 + move-result-object v5
14003 + move-object/from16 v0, v53
14005 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
14011 + move-object/from16 v0, v53
14013 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14017 + int-to-byte v7, v1
14021 + move-object/from16 v0, v53
14023 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14025 + move-result-object v8
14029 + move-object/from16 v0, v53
14031 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14035 + int-to-byte v9, v1
14039 + move-object/from16 v0, v53
14041 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14043 + move-result-object v10
14047 + move-object/from16 v0, v53
14049 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14053 + int-to-byte v11, v1
14057 + move-object/from16 v0, v53
14059 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14061 + move-result-object v12
14065 + move-object/from16 v0, v53
14067 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14069 + move-result-object v13
14073 + move-object/from16 v0, v53
14075 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14079 + int-to-byte v14, v1
14083 + move-object/from16 v0, v53
14085 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14087 + move-result-object v15
14091 + move-object/from16 v0, v53
14093 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14095 + move-result-object v16
14099 + move-object/from16 v0, v53
14101 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14105 + int-to-byte v0, v1
14107 + move/from16 v17, v0
14111 + move-object/from16 v0, v53
14113 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14117 + int-to-byte v0, v1
14119 + move/from16 v18, v0
14123 + move-object/from16 v0, v53
14125 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14129 + int-to-byte v0, v1
14131 + move/from16 v19, v0
14133 + const/16 v1, 0x10
14135 + move-object/from16 v0, v53
14137 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14139 + move-result-object v20
14141 + const/16 v1, 0x11
14143 + move-object/from16 v0, v53
14145 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14149 + int-to-byte v0, v1
14151 + move/from16 v21, v0
14153 + const/16 v1, 0x12
14155 + move-object/from16 v0, v53
14157 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14159 + move-result-object v22
14161 + const/16 v1, 0x13
14163 + move-object/from16 v0, v53
14165 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14169 + int-to-byte v0, v1
14171 + move/from16 v23, v0
14173 + const/16 v1, 0x14
14175 + move-object/from16 v0, v53
14177 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14181 + int-to-byte v0, v1
14183 + move/from16 v24, v0
14185 + const/16 v1, 0x15
14187 + move-object/from16 v0, v53
14189 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14193 + int-to-byte v0, v1
14195 + move/from16 v25, v0
14197 + const/16 v1, 0x16
14199 + move-object/from16 v0, v53
14201 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14205 + int-to-byte v0, v1
14207 + move/from16 v26, v0
14209 + const/16 v1, 0x17
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 v27, v0
14221 + const/16 v1, 0x18
14223 + move-object/from16 v0, v53
14225 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14229 + int-to-byte v0, v1
14231 + move/from16 v28, v0
14233 + const/16 v1, 0x19
14235 + move-object/from16 v0, v53
14237 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14241 + int-to-byte v0, v1
14243 + move/from16 v29, v0
14245 + const/16 v1, 0x1a
14247 + move-object/from16 v0, v53
14249 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14253 + int-to-byte v0, v1
14255 + move/from16 v30, v0
14257 + const/16 v1, 0x1b
14259 + move-object/from16 v0, v53
14261 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14265 + int-to-byte v0, v1
14267 + move/from16 v31, v0
14269 + const/16 v1, 0x1c
14271 + move-object/from16 v0, v53
14273 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14277 + int-to-byte v0, v1
14279 + move/from16 v32, v0
14281 + const/16 v1, 0x1d
14283 + move-object/from16 v0, v53
14285 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14289 + int-to-byte v0, v1
14291 + move/from16 v33, v0
14293 + const/16 v1, 0x1e
14295 + move-object/from16 v0, v53
14297 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14301 + int-to-byte v0, v1
14303 + move/from16 v34, v0
14305 + const/16 v1, 0x1f
14307 + move-object/from16 v0, v53
14309 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14313 + int-to-byte v0, v1
14315 + move/from16 v35, v0
14317 + const/16 v1, 0x20
14319 + move-object/from16 v0, v53
14321 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14325 + int-to-byte v0, v1
14327 + move/from16 v36, v0
14329 + const/16 v1, 0x21
14331 + move-object/from16 v0, v53
14333 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14337 + int-to-byte v0, v1
14339 + move/from16 v37, v0
14341 + const/16 v1, 0x22
14343 + move-object/from16 v0, v53
14345 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14349 + int-to-byte v0, v1
14351 + move/from16 v38, v0
14353 + const/16 v39, 0x0
14355 + const/16 v1, 0x23
14357 + move-object/from16 v0, v53
14359 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14363 + int-to-byte v0, v1
14365 + move/from16 v40, v0
14367 + const/16 v1, 0x24
14369 + move-object/from16 v0, v53
14371 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14375 + int-to-byte v0, v1
14377 + move/from16 v41, v0
14379 + const/16 v1, 0x25
14381 + move-object/from16 v0, v53
14383 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14387 + int-to-byte v0, v1
14389 + move/from16 v42, v0
14391 + const/16 v1, 0x26
14393 + move-object/from16 v0, v53
14395 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14399 + int-to-byte v0, v1
14401 + move/from16 v43, v0
14403 + const/16 v1, 0x27
14405 + move-object/from16 v0, v53
14407 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14411 + int-to-byte v0, v1
14413 + move/from16 v44, v0
14415 + const/16 v1, 0x28
14417 + move-object/from16 v0, v53
14419 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
14423 + int-to-byte v0, v1
14425 + move/from16 v45, v0
14427 + const/16 v1, 0x29
14429 + move-object/from16 v0, v53
14431 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14433 + move-result-object v46
14435 + const/16 v1, 0x2a
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 v47, v0
14447 + const/16 v1, 0x2b
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 v48, v0
14459 + const/16 v1, 0x2c
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 v49, v0
14471 + const/16 v1, 0x2d
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 v50, v0
14483 + const/16 v1, 0x2e
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 v51, v0
14495 + 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
14497 + .catchall {:try_start_2f .. :try_end_24c} :catchall_2f5
14498 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_24c} :catch_30c
14501 + const-string v6, "allowed_contacts"
14505 + new-array v7, v1, [Ljava/lang/String;
14509 + const-string v4, "contact_id"
14511 + aput-object v4, v7, v1
14513 + const-string/jumbo v8, "settings_id=?"
14517 + new-array v9, v1, [Ljava/lang/String;
14521 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
14523 + move-result-object v4
14525 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14529 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
14531 + move-result-object v4
14533 + aput-object v4, v9, v1
14543 + move-object/from16 v4, p0
14545 + move-object v5, v2
14547 + 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;
14549 + move-result-object v53
14551 + if-eqz v53, :cond_2e3
14553 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14557 + if-lez v1, :cond_2e3
14559 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
14563 + new-array v0, v1, [I
14565 + move-object/from16 v52, v0
14568 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToNext()Z
14572 + if-eqz v1, :cond_2de
14574 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getPosition()I
14580 + move-object/from16 v0, v53
14582 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
14588 + .catchall {:try_start_24c .. :try_end_299} :catchall_30a
14589 + .catch Ljava/lang/Exception; {:try_start_24c .. :try_end_299} :catch_29a
14594 + move-exception v54
14598 + const-string v1, "PrivacyPersistenceAdapter"
14600 + new-instance v4, Ljava/lang/StringBuilder;
14602 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
14604 + const-string v5, "getSettings - failed to get settings for package: "
14606 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14608 + move-result-object v4
14610 + move-object/from16 v0, p1
14612 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14614 + move-result-object v4
14616 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14618 + move-result-object v4
14620 + move-object/from16 v0, v54
14622 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14624 + .catchall {:try_start_29b .. :try_end_2b7} :catchall_30a
14626 + if-eqz v53, :cond_2bc
14628 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14631 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14633 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14635 + move-result-object v1
14637 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14639 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14642 + move-object/from16 v55, v3
14645 + return-object v55
14648 + move-exception v1
14653 + .catchall {:try_start_2cc .. :try_end_2cd} :catchall_2cb
14658 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_2cd .. :try_end_2ce} :catch_2ce
14661 + move-exception v54
14663 + const-string v1, "PrivacyPersistenceAdapter"
14665 + const-string v4, "getSettings - database could not be opened"
14667 + move-object/from16 v0, v54
14669 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14671 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14673 + move-object/from16 v3, v55
14679 + move-object/from16 v0, v52
14681 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
14683 + .catchall {:try_start_2de .. :try_end_2e3} :catchall_30a
14684 + .catch Ljava/lang/Exception; {:try_start_2de .. :try_end_2e3} :catch_29a
14688 + if-eqz v53, :cond_2e8
14690 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14693 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14695 + invoke-interface {v1}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14697 + move-result-object v1
14699 + invoke-interface {v1}, Ljava/util/concurrent/locks/Lock;->unlock()V
14701 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14706 + move-exception v1
14708 + move-object/from16 v3, v55
14711 + if-eqz v53, :cond_2fd
14713 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
14716 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14718 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14720 + move-result-object v4
14722 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
14724 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14729 + move-exception v1
14734 + move-exception v54
14736 + move-object/from16 v3, v55
14741 + move-object/from16 v3, v55
14746 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
14754 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14758 + .catchall {:try_start_2 .. :try_end_5} :catchall_41
14761 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14763 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14765 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
14769 + add-int/lit8 v3, v3, 0x1
14771 + invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14773 + move-result-object v3
14775 + sput-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
14779 + .catchall {:try_start_5 .. :try_end_16} :catchall_3e
14782 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
14784 + move-result-object v1
14786 + if-eqz v1, :cond_22
14788 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
14792 + if-nez v2, :cond_46
14795 + const-string v2, "PrivacyPersistenceAdapter"
14797 + new-instance v3, Ljava/lang/StringBuilder;
14799 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
14801 + const-string v4, "PrivacyPersistenceAdapter:getValue: Database not obtained while getting value for name: "
14803 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14805 + move-result-object v3
14807 + invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14809 + move-result-object v3
14811 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14813 + move-result-object v3
14815 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
14817 + .catchall {:try_start_16 .. :try_end_3a} :catchall_41
14819 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14825 + move-exception v0
14830 + .catchall {:try_start_3f .. :try_end_40} :catchall_3e
14835 + .catchall {:try_start_40 .. :try_end_41} :catchall_41
14838 + move-exception v0
14840 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14846 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14848 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14850 + move-result-object v0
14852 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
14854 + .catchall {:try_start_46 .. :try_end_4f} :catchall_41
14857 + const-string/jumbo v2, "map"
14861 + new-array v3, v0, [Ljava/lang/String;
14865 + const-string/jumbo v4, "value"
14867 + aput-object v4, v3, v0
14869 + const-string/jumbo v4, "name=?"
14873 + new-array v5, v0, [Ljava/lang/String;
14877 + aput-object p1, v5, v0
14887 + move-object v0, p0
14889 + 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;
14891 + move-result-object v10
14893 + if-eqz v10, :cond_97
14895 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
14899 + if-lez v0, :cond_97
14901 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
14905 + if-eqz v0, :cond_97
14907 + const-string/jumbo v0, "value"
14909 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
14913 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
14915 + move-result-object v12
14917 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
14919 + .catchall {:try_start_4f .. :try_end_89} :catchall_d3
14920 + .catch Ljava/lang/Exception; {:try_start_4f .. :try_end_89} :catch_b0
14924 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
14926 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
14928 + move-result-object v0
14930 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
14932 + .catchall {:try_start_89 .. :try_end_92} :catchall_41
14935 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
14937 + move-object v0, v12
14943 + const-string v0, "PrivacyPersistenceAdapter"
14945 + new-instance v2, Ljava/lang/StringBuilder;
14947 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
14949 + const-string v3, "PrivacyPersistenceAdapter:getValue: Could not get value for name: "
14951 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14953 + move-result-object v2
14955 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14957 + move-result-object v2
14959 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14961 + move-result-object v2
14963 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
14965 + .catchall {:try_start_97 .. :try_end_af} :catchall_d3
14966 + .catch Ljava/lang/Exception; {:try_start_97 .. :try_end_af} :catch_b0
14971 + move-exception v11
14974 + const-string v0, "PrivacyPersistenceAdapter"
14976 + new-instance v2, Ljava/lang/StringBuilder;
14978 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
14980 + const-string v3, "PrivacyPersistenceAdapter:getValue: Exception occurred while getting value for name: "
14982 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14984 + move-result-object v2
14986 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
14988 + move-result-object v2
14990 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
14992 + move-result-object v2
14994 + invoke-static {v0, v2, v11}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
14996 + .catchall {:try_start_b1 .. :try_end_c9} :catchall_d3
14999 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15001 + invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15003 + move-result-object v0
15005 + invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
15010 + move-exception v0
15012 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15014 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
15016 + move-result-object v2
15018 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15022 + .catchall {:try_start_c9 .. :try_end_de} :catchall_41
15025 +.method public purgeSettings()Z
15028 + const/16 v23, 0x1
15030 + new-instance v13, Ljava/util/HashSet;
15032 + invoke-direct {v13}, Ljava/util/HashSet;-><init>()V
15034 + move-object/from16 v0, p0
15036 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->mContext:Landroid/content/Context;
15038 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
15040 + move-result-object v20
15044 + move-object/from16 v0, v20
15046 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
15048 + move-result-object v18
15050 + invoke-interface/range {v18 .. v18}, Ljava/util/List;->iterator()Ljava/util/Iterator;
15052 + move-result-object v17
15055 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
15059 + if-eqz v2, :cond_2c
15061 + invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
15063 + move-result-object v12
15065 + check-cast v12, Landroid/content/pm/ApplicationInfo;
15067 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
15069 + invoke-interface {v13, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
15077 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15081 + .catchall {:try_start_2d .. :try_end_30} :catchall_11b
15082 + .catch Ljava/lang/Exception; {:try_start_2d .. :try_end_30} :catch_56
15085 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15087 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15089 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
15093 + add-int/lit8 v2, v2, 0x1
15095 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15097 + move-result-object v2
15099 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
15103 + .catchall {:try_start_30 .. :try_end_41} :catchall_53
15106 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
15108 + move-result-object v3
15110 + if-nez v3, :cond_68
15112 + const-string v2, "PrivacyPersistenceAdapter"
15114 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings: db could not be obtained"
15116 + invoke-static {v2, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15118 + .catchall {:try_start_41 .. :try_end_4e} :catchall_11b
15119 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_4e} :catch_56
15123 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15129 + move-exception v2
15134 + .catchall {:try_start_54 .. :try_end_55} :catchall_53
15139 + .catchall {:try_start_55 .. :try_end_56} :catchall_11b
15140 + .catch Ljava/lang/Exception; {:try_start_55 .. :try_end_56} :catch_56
15143 + move-exception v16
15146 + const-string v2, "PrivacyPersistenceAdapter"
15148 + const-string v4, "PrivacyPersistenceAdapter:purgeSettings - purging DB failed"
15150 + move-object/from16 v0, v16
15152 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15154 + .catchall {:try_start_57 .. :try_end_60} :catchall_11b
15156 + const/16 v23, 0x0
15158 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15161 + move/from16 v2, v23
15167 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15169 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15171 + move-result-object v2
15173 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->lock()V
15175 + .catchall {:try_start_68 .. :try_end_71} :catchall_11b
15176 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_71} :catch_56
15181 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
15183 + .catchall {:try_start_72 .. :try_end_75} :catchall_110
15186 + const-string/jumbo v4, "settings"
15190 + new-array v5, v2, [Ljava/lang/String;
15194 + const-string/jumbo v6, "packageName"
15196 + aput-object v6, v5, v2
15210 + move-object/from16 v2, p0
15212 + 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;
15214 + move-result-object v15
15216 + if-eqz v15, :cond_bd
15218 + invoke-interface {v15}, Landroid/database/Cursor;->getCount()I
15222 + if-lez v2, :cond_bd
15224 + invoke-interface {v15}, Landroid/database/Cursor;->moveToFirst()Z
15228 + if-eqz v2, :cond_bd
15233 + invoke-interface {v15, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
15235 + move-result-object v22
15237 + move-object/from16 v0, v22
15239 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15243 + if-nez v2, :cond_b7
15245 + const-string/jumbo v2, "settings"
15247 + const-string/jumbo v4, "packageName = ?"
15251 + new-array v5, v5, [Ljava/lang/String;
15255 + aput-object v22, v5, v6
15257 + invoke-virtual {v3, v2, v4, v5}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
15260 + invoke-interface {v15}, Landroid/database/Cursor;->moveToNext()Z
15264 + if-nez v2, :cond_9b
15267 + new-instance v24, Ljava/io/File;
15269 + const-string v2, "/data/system/privacy"
15271 + move-object/from16 v0, v24
15273 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
15275 + invoke-virtual/range {v24 .. v24}, Ljava/io/File;->listFiles()[Ljava/io/File;
15277 + move-result-object v14
15279 + array-length v0, v14
15281 + move/from16 v19, v0
15283 + const/16 v17, 0x0
15286 + move/from16 v0, v17
15288 + move/from16 v1, v19
15290 + if-ge v0, v1, :cond_ed
15292 + aget-object v21, v14, v17
15294 + invoke-virtual/range {v21 .. v21}, Ljava/io/File;->getName()Ljava/lang/String;
15296 + move-result-object v22
15298 + move-object/from16 v0, v22
15300 + invoke-interface {v13, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
15304 + if-nez v2, :cond_ea
15306 + move-object/from16 v0, p0
15308 + move-object/from16 v1, v21
15310 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
15313 + add-int/lit8 v17, v17, 0x1
15318 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
15320 + .catchall {:try_start_75 .. :try_end_f0} :catchall_106
15322 + if-eqz v15, :cond_f5
15325 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
15328 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
15330 + .catchall {:try_start_f2 .. :try_end_f8} :catchall_110
15333 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15335 + invoke-interface {v2}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15337 + move-result-object v2
15339 + invoke-interface {v2}, Ljava/util/concurrent/locks/Lock;->unlock()V
15341 + .catchall {:try_start_f8 .. :try_end_101} :catchall_11b
15342 + .catch Ljava/lang/Exception; {:try_start_f8 .. :try_end_101} :catch_56
15344 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15349 + move-exception v2
15351 + if-eqz v15, :cond_10c
15354 + invoke-interface {v15}, Landroid/database/Cursor;->close()V
15357 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
15361 + .catchall {:try_start_109 .. :try_end_110} :catchall_110
15364 + move-exception v2
15367 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
15369 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
15371 + move-result-object v4
15373 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
15377 + .catchall {:try_start_111 .. :try_end_11b} :catchall_11b
15378 + .catch Ljava/lang/Exception; {:try_start_111 .. :try_end_11b} :catch_56
15381 + move-exception v2
15383 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
15388 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
15391 + const/16 v19, 0x0
15393 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
15395 + move-result-object v18
15397 + if-eqz v18, :cond_e
15399 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->isEmpty()Z
15403 + if-eqz v4, :cond_18
15406 + const-string v4, "PrivacyPersistenceAdapter"
15408 + const-string/jumbo v5, "saveSettings - either package name is missing"
15410 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15418 + new-instance v22, Landroid/content/ContentValues;
15420 + invoke-direct/range {v22 .. v22}, Landroid/content/ContentValues;-><init>()V
15422 + const-string/jumbo v4, "packageName"
15424 + move-object/from16 v0, v22
15426 + move-object/from16 v1, v18
15428 + invoke-virtual {v0, v4, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15430 + const-string/jumbo v4, "uid"
15434 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
15436 + move-result-object v5
15438 + move-object/from16 v0, v22
15440 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
15442 + const-string v4, "deviceIdSetting"
15444 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
15448 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15450 + move-result-object v5
15452 + move-object/from16 v0, v22
15454 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15456 + const-string v4, "deviceId"
15458 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
15460 + move-result-object v5
15462 + move-object/from16 v0, v22
15464 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15466 + const-string v4, "line1NumberSetting"
15468 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
15472 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15474 + move-result-object v5
15476 + move-object/from16 v0, v22
15478 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15480 + const-string v4, "line1Number"
15482 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
15484 + move-result-object v5
15486 + move-object/from16 v0, v22
15488 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15490 + const-string v4, "locationGpsSetting"
15492 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
15496 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15498 + move-result-object v5
15500 + move-object/from16 v0, v22
15502 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15504 + const-string v4, "locationGpsLat"
15506 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
15508 + move-result-object v5
15510 + move-object/from16 v0, v22
15512 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15514 + const-string v4, "locationGpsLon"
15516 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
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/String;)V
15524 + const-string v4, "locationNetworkSetting"
15526 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
15530 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15532 + move-result-object v5
15534 + move-object/from16 v0, v22
15536 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15538 + const-string v4, "locationNetworkLat"
15540 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
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/String;)V
15548 + const-string v4, "locationNetworkLon"
15550 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()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/jumbo v4, "networkInfoSetting"
15560 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()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/jumbo v4, "simInfoSetting"
15574 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
15578 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15580 + move-result-object v5
15582 + move-object/from16 v0, v22
15584 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15586 + const-string/jumbo v4, "simSerialNumberSetting"
15588 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
15592 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15594 + move-result-object v5
15596 + move-object/from16 v0, v22
15598 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15600 + const-string/jumbo v4, "simSerialNumber"
15602 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
15604 + move-result-object v5
15606 + move-object/from16 v0, v22
15608 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15610 + const-string/jumbo v4, "subscriberIdSetting"
15612 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
15616 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15618 + move-result-object v5
15620 + move-object/from16 v0, v22
15622 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15624 + const-string/jumbo v4, "subscriberId"
15626 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
15628 + move-result-object v5
15630 + move-object/from16 v0, v22
15632 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15634 + const-string v4, "accountsSetting"
15636 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
15640 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15642 + move-result-object v5
15644 + move-object/from16 v0, v22
15646 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15648 + const-string v4, "accountsAuthTokensSetting"
15650 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
15654 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15656 + move-result-object v5
15658 + move-object/from16 v0, v22
15660 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15662 + const-string/jumbo v4, "outgoingCallsSetting"
15664 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
15668 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15670 + move-result-object v5
15672 + move-object/from16 v0, v22
15674 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15676 + const-string v4, "incomingCallsSetting"
15678 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
15682 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15684 + move-result-object v5
15686 + move-object/from16 v0, v22
15688 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15690 + const-string v4, "contactsSetting"
15692 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
15696 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15698 + move-result-object v5
15700 + move-object/from16 v0, v22
15702 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15704 + const-string v4, "calendarSetting"
15706 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
15710 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15712 + move-result-object v5
15714 + move-object/from16 v0, v22
15716 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15718 + const-string/jumbo v4, "mmsSetting"
15720 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
15724 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15726 + move-result-object v5
15728 + move-object/from16 v0, v22
15730 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15732 + const-string/jumbo v4, "smsSetting"
15734 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
15738 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15740 + move-result-object v5
15742 + move-object/from16 v0, v22
15744 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15746 + const-string v4, "callLogSetting"
15748 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
15752 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15754 + move-result-object v5
15756 + move-object/from16 v0, v22
15758 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15760 + const-string v4, "bookmarksSetting"
15762 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
15766 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15768 + move-result-object v5
15770 + move-object/from16 v0, v22
15772 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15774 + const-string/jumbo v4, "systemLogsSetting"
15776 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
15780 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15782 + move-result-object v5
15784 + move-object/from16 v0, v22
15786 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15788 + const-string/jumbo v4, "notificationSetting"
15790 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
15794 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15796 + move-result-object v5
15798 + move-object/from16 v0, v22
15800 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15802 + const-string v4, "intentBootCompletedSetting"
15804 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
15808 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15810 + move-result-object v5
15812 + move-object/from16 v0, v22
15814 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15816 + const-string v4, "cameraSetting"
15818 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
15822 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15824 + move-result-object v5
15826 + move-object/from16 v0, v22
15828 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15830 + const-string/jumbo v4, "recordAudioSetting"
15832 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
15836 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15838 + move-result-object v5
15840 + move-object/from16 v0, v22
15842 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15844 + const-string/jumbo v4, "smsSendSetting"
15846 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
15850 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15852 + move-result-object v5
15854 + move-object/from16 v0, v22
15856 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15858 + const-string/jumbo v4, "phoneCallSetting"
15860 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
15864 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15866 + move-result-object v5
15868 + move-object/from16 v0, v22
15870 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15872 + const-string v4, "ipTableProtectSetting"
15874 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
15878 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15880 + move-result-object v5
15882 + move-object/from16 v0, v22
15884 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15886 + const-string v4, "iccAccessSetting"
15888 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
15892 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15894 + move-result-object v5
15896 + move-object/from16 v0, v22
15898 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15900 + const-string v4, "addOnManagementSetting"
15902 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAddOnManagementSetting()B
15906 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15908 + move-result-object v5
15910 + move-object/from16 v0, v22
15912 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15914 + const-string v4, "androidIdSetting"
15916 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
15920 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15922 + move-result-object v5
15924 + move-object/from16 v0, v22
15926 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15928 + const-string v4, "androidId"
15930 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
15932 + move-result-object v5
15934 + move-object/from16 v0, v22
15936 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15938 + const-string/jumbo v4, "wifiInfoSetting"
15940 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
15944 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15946 + move-result-object v5
15948 + move-object/from16 v0, v22
15950 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15952 + const-string/jumbo v4, "switchConnectivitySetting"
15954 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
15958 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15960 + move-result-object v5
15962 + move-object/from16 v0, v22
15964 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15966 + const-string/jumbo v4, "sendMmsSetting"
15968 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSendMmsSetting()B
15972 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15974 + move-result-object v5
15976 + move-object/from16 v0, v22
15978 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15980 + const-string v4, "forceOnlineState"
15982 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
15986 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
15988 + move-result-object v5
15990 + move-object/from16 v0, v22
15992 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
15994 + const-string/jumbo v4, "switchWifiStateSetting"
15996 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
16000 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
16002 + move-result-object v5
16004 + move-object/from16 v0, v22
16006 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
16013 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16017 + .catchall {:try_start_2a9 .. :try_end_2ac} :catchall_33c
16018 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2ac} :catch_311
16021 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16023 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16025 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
16029 + add-int/lit8 v4, v4, 0x1
16031 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16033 + move-result-object v4
16035 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16039 + .catchall {:try_start_2ac .. :try_end_2bd} :catchall_339
16042 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16044 + move-result-object v3
16046 + if-eqz v3, :cond_4f2
16048 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16052 + if-eqz v4, :cond_4f2
16054 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16056 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16058 + move-result-object v4
16060 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
16062 + .catchall {:try_start_2bd .. :try_end_2d2} :catchall_33c
16063 + .catch Ljava/lang/Exception; {:try_start_2bd .. :try_end_2d2} :catch_311
16066 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
16068 + .catchall {:try_start_2d2 .. :try_end_2d5} :catchall_306
16071 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
16073 + move-result-object v16
16075 + if-eqz v16, :cond_38d
16077 + const-string/jumbo v4, "settings"
16079 + const-string v5, "_id=?"
16083 + new-array v6, v6, [Ljava/lang/String;
16087 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16089 + move-result-object v8
16091 + aput-object v8, v6, v7
16093 + move-object/from16 v0, v22
16095 + 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
16101 + if-ge v4, v5, :cond_341
16103 + new-instance v4, Ljava/lang/Exception;
16105 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16107 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16111 + .catchall {:try_start_2d5 .. :try_end_2fc} :catchall_2fc
16114 + move-exception v4
16117 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16119 + if-eqz v13, :cond_305
16121 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16126 + .catchall {:try_start_2fd .. :try_end_306} :catchall_306
16129 + move-exception v4
16132 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16134 + invoke-interface {v5}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16136 + move-result-object v5
16138 + invoke-interface {v5}, Ljava/util/concurrent/locks/Lock;->unlock()V
16142 + .catchall {:try_start_307 .. :try_end_311} :catchall_33c
16143 + .catch Ljava/lang/Exception; {:try_start_307 .. :try_end_311} :catch_311
16146 + move-exception v14
16149 + const-string v4, "PrivacyPersistenceAdapter"
16151 + new-instance v5, Ljava/lang/StringBuilder;
16153 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16155 + const-string v6, "PrivacyPersistenceAdapter:saveSettings: saving for "
16157 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16159 + move-result-object v5
16161 + move-object/from16 v0, v18
16163 + invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16165 + move-result-object v5
16167 + const-string v6, " failed"
16169 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16171 + move-result-object v5
16173 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16175 + move-result-object v5
16177 + invoke-static {v4, v5, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16179 + .catchall {:try_start_312 .. :try_end_332} :catchall_33c
16181 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16184 + move/from16 v4, v19
16189 + move-exception v4
16194 + .catchall {:try_start_33a .. :try_end_33b} :catchall_339
16199 + .catchall {:try_start_33b .. :try_end_33c} :catchall_33c
16200 + .catch Ljava/lang/Exception; {:try_start_33b .. :try_end_33c} :catch_311
16203 + move-exception v4
16205 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16211 + const-string v4, "allowed_contacts"
16213 + const-string/jumbo v5, "settings_id=?"
16217 + new-array v6, v6, [Ljava/lang/String;
16221 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16223 + move-result-object v8
16225 + aput-object v8, v6, v7
16227 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16229 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16231 + move-result-object v11
16233 + if-eqz v11, :cond_4af
16235 + new-instance v12, Landroid/content/ContentValues;
16237 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16242 + array-length v4, v11
16244 + if-ge v15, v4, :cond_4af
16246 + const-string/jumbo v4, "settings_id"
16248 + move-object/from16 v0, v16
16250 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16252 + const-string v4, "contact_id"
16254 + aget v5, v11, v15
16256 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16258 + move-result-object v5
16260 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16262 + const-string v4, "allowed_contacts"
16266 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16268 + move-result-wide v4
16270 + const-wide/16 v6, -0x1
16272 + cmp-long v4, v4, v6
16274 + if-nez v4, :cond_38a
16276 + new-instance v4, Ljava/lang/Exception;
16278 + const-string v5, "PrivacyPersistenceAdapter:saveSettings: failed to update database entry (contacts)"
16280 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16285 + add-int/lit8 v15, v15, 0x1
16290 + const-string/jumbo v4, "settings"
16294 + new-array v5, v5, [Ljava/lang/String;
16298 + const-string v7, "_id"
16300 + aput-object v7, v5, v6
16302 + const-string/jumbo v6, "packageName=?"
16306 + new-array v7, v7, [Ljava/lang/String;
16310 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16312 + move-result-object v9
16314 + aput-object v9, v7, v8
16322 + 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;
16324 + move-result-object v13
16326 + if-eqz v13, :cond_4a7
16328 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
16334 + if-ne v4, v5, :cond_433
16336 + const-string/jumbo v4, "settings"
16338 + const-string/jumbo v5, "packageName=?"
16342 + new-array v6, v6, [Ljava/lang/String;
16346 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
16348 + move-result-object v8
16350 + aput-object v8, v6, v7
16352 + move-object/from16 v0, v22
16354 + 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
16360 + if-ge v4, v5, :cond_3d7
16362 + new-instance v4, Ljava/lang/Exception;
16364 + const-string/jumbo v5, "saveSettings - failed to update database entry"
16366 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16371 + invoke-interface {v13}, Landroid/database/Cursor;->moveToFirst()Z
16375 + if-eqz v4, :cond_4af
16379 + invoke-interface {v13, v4}, Landroid/database/Cursor;->getInt(I)I
16383 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16385 + move-result-object v17
16387 + const-string v4, "allowed_contacts"
16389 + const-string/jumbo v5, "settings_id=?"
16393 + new-array v6, v6, [Ljava/lang/String;
16397 + invoke-virtual/range {v17 .. v17}, Ljava/lang/Integer;->toString()Ljava/lang/String;
16399 + move-result-object v8
16401 + aput-object v8, v6, v7
16403 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16405 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16407 + move-result-object v11
16409 + if-eqz v11, :cond_4af
16411 + new-instance v12, Landroid/content/ContentValues;
16413 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16418 + array-length v4, v11
16420 + if-ge v15, v4, :cond_4af
16422 + const-string/jumbo v4, "settings_id"
16424 + move-object/from16 v0, v17
16426 + invoke-virtual {v12, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16428 + const-string v4, "contact_id"
16430 + aget v5, v11, v15
16432 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16434 + move-result-object v5
16436 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16438 + const-string v4, "allowed_contacts"
16442 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16444 + move-result-wide v4
16446 + const-wide/16 v6, -0x1
16448 + cmp-long v4, v4, v6
16450 + if-nez v4, :cond_430
16452 + new-instance v4, Ljava/lang/Exception;
16454 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
16456 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16461 + add-int/lit8 v15, v15, 0x1
16466 + invoke-interface {v13}, Landroid/database/Cursor;->getCount()I
16470 + if-nez v4, :cond_49f
16472 + const-string/jumbo v4, "settings"
16476 + move-object/from16 v0, v22
16478 + invoke-virtual {v3, v4, v5, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16480 + move-result-wide v20
16482 + const-wide/16 v4, -0x1
16484 + cmp-long v4, v20, v4
16486 + if-nez v4, :cond_451
16488 + new-instance v4, Ljava/lang/Exception;
16490 + const-string v5, "PrivacyPersistenceAdapter:saveSettings - failed to insert new record into DB"
16492 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16497 + const-string v4, "allowed_contacts"
16499 + const-string/jumbo v5, "settings_id=?"
16503 + new-array v6, v6, [Ljava/lang/String;
16507 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
16509 + move-result-object v8
16511 + aput-object v8, v6, v7
16513 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
16515 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
16517 + move-result-object v11
16519 + if-eqz v11, :cond_4af
16521 + new-instance v12, Landroid/content/ContentValues;
16523 + invoke-direct {v12}, Landroid/content/ContentValues;-><init>()V
16528 + array-length v4, v11
16530 + if-ge v15, v4, :cond_4af
16532 + const-string/jumbo v4, "settings_id"
16534 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
16536 + move-result-object v5
16538 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
16540 + const-string v4, "contact_id"
16542 + aget v5, v11, v15
16544 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16546 + move-result-object v5
16548 + invoke-virtual {v12, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
16550 + const-string v4, "allowed_contacts"
16554 + invoke-virtual {v3, v4, v5, v12}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16556 + move-result-wide v4
16558 + const-wide/16 v6, -0x1
16560 + cmp-long v4, v4, v6
16562 + if-nez v4, :cond_49c
16564 + new-instance v4, Ljava/lang/Exception;
16566 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to update database entry (contacts)"
16568 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16573 + add-int/lit8 v15, v15, 0x1
16578 + new-instance v4, Ljava/lang/Exception;
16580 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:duplicate entries in the privacy.db"
16582 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16587 + new-instance v4, Ljava/lang/Exception;
16589 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:cursor is null, database access failed"
16591 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16596 + const-string/jumbo v4, "systemLogsSetting"
16598 + move-object/from16 v0, p0
16600 + move-object/from16 v1, v18
16602 + move-object/from16 v2, p1
16604 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
16608 + if-nez v4, :cond_4c6
16610 + new-instance v4, Ljava/lang/Exception;
16612 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write systemLogsSettings file"
16614 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16619 + const-string v4, "ipTableProtectSetting"
16621 + move-object/from16 v0, p0
16623 + move-object/from16 v1, v18
16625 + move-object/from16 v2, p1
16627 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
16631 + if-nez v4, :cond_4dc
16633 + new-instance v4, Ljava/lang/Exception;
16635 + const-string v5, "PrivacyPersistenceAdapter:saveSettings:failed to write ipTableProtectSetting file"
16637 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
16642 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
16644 + .catchall {:try_start_341 .. :try_end_4df} :catchall_2fc
16647 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
16649 + if-eqz v13, :cond_4e7
16651 + invoke-interface {v13}, Landroid/database/Cursor;->close()V
16653 + .catchall {:try_start_4df .. :try_end_4e7} :catchall_306
16657 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16659 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16661 + move-result-object v4
16663 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
16665 + .catchall {:try_start_4e7 .. :try_end_4f0} :catchall_33c
16666 + .catch Ljava/lang/Exception; {:try_start_4e7 .. :try_end_4f0} :catch_311
16668 + const/16 v19, 0x1
16671 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16673 + goto/16 :goto_335
16676 +.method public setValue(Ljava/lang/String;Ljava/lang/String;)Z
16681 + const-string v4, "PrivacyPersistenceAdapter"
16683 + new-instance v5, Ljava/lang/StringBuilder;
16685 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16687 + const-string/jumbo v6, "setValue - name "
16689 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16691 + move-result-object v5
16693 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16695 + move-result-object v5
16697 + const-string v6, " value "
16699 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16701 + move-result-object v5
16703 + invoke-virtual {v5, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16705 + move-result-object v5
16707 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16709 + move-result-object v5
16711 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16713 + new-instance v2, Landroid/content/ContentValues;
16715 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
16717 + const-string/jumbo v4, "name"
16719 + invoke-virtual {v2, v4, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16721 + const-string/jumbo v4, "value"
16723 + invoke-virtual {v2, v4, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
16728 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16732 + .catchall {:try_start_36 .. :try_end_39} :catchall_75
16735 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16737 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16739 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
16743 + add-int/lit8 v5, v5, 0x1
16745 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16747 + move-result-object v5
16749 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->sDbAccessThreads:Ljava/lang/Integer;
16753 + .catchall {:try_start_39 .. :try_end_4a} :catchall_72
16756 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
16758 + move-result-object v0
16760 + if-eqz v0, :cond_56
16762 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
16766 + if-nez v4, :cond_7a
16769 + const-string v4, "PrivacyPersistenceAdapter"
16771 + new-instance v5, Ljava/lang/StringBuilder;
16773 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
16775 + const-string v6, "PrivacyPersistenceAdapter:setValue: Database not obtained while setting value for name: "
16777 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16779 + move-result-object v5
16781 + invoke-virtual {v5, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
16783 + move-result-object v5
16785 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
16787 + move-result-object v5
16789 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16791 + .catchall {:try_start_4a .. :try_end_6e} :catchall_75
16793 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16799 + move-exception v3
16804 + .catchall {:try_start_73 .. :try_end_74} :catchall_72
16809 + .catchall {:try_start_74 .. :try_end_75} :catchall_75
16812 + move-exception v3
16814 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16820 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16822 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16824 + move-result-object v4
16826 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->lock()V
16828 + .catchall {:try_start_7a .. :try_end_83} :catchall_75
16831 + const-string/jumbo v4, "map"
16835 + invoke-virtual {v0, v4, v5, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
16837 + .catchall {:try_start_83 .. :try_end_8a} :catchall_a2
16839 + move-result-wide v4
16841 + const-wide/16 v6, -0x1
16843 + cmp-long v4, v4, v6
16845 + if-eqz v4, :cond_a0
16851 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16853 + invoke-interface {v3}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16855 + move-result-object v3
16857 + invoke-interface {v3}, Ljava/util/concurrent/locks/Lock;->unlock()V
16859 + .catchall {:try_start_92 .. :try_end_9b} :catchall_75
16861 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->closeIdleDatabase()V
16873 + move-exception v3
16876 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->sDbLock:Ljava/util/concurrent/locks/ReadWriteLock;
16878 + invoke-interface {v4}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
16880 + move-result-object v4
16882 + invoke-interface {v4}, Ljava/util/concurrent/locks/Lock;->unlock()V
16886 + .catchall {:try_start_a3 .. :try_end_ad} :catchall_75
16888 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali opd-framework/smali/android/privacy/PrivacySettings$1.smali
16889 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
16890 +++ opd-framework/smali/android/privacy/PrivacySettings$1.smali 2013-01-20 23:05:45.903697529 -0600
16892 +.class final Landroid/privacy/PrivacySettings$1;
16893 +.super Ljava/lang/Object;
16894 +.source "PrivacySettings.java"
16897 +.implements Landroid/os/Parcelable$Creator;
16901 +.annotation system Ldalvik/annotation/EnclosingClass;
16902 + value = Landroid/privacy/PrivacySettings;
16905 +.annotation system Ldalvik/annotation/InnerClass;
16906 + accessFlags = 0x8
16910 +.annotation system Ldalvik/annotation/Signature;
16912 + "Ljava/lang/Object;",
16913 + "Landroid/os/Parcelable$Creator",
16915 + "Landroid/privacy/PrivacySettings;",
16922 +.method constructor <init>()V
16925 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
16932 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
16935 + new-instance v0, Landroid/privacy/PrivacySettings;
16937 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
16942 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
16945 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
16947 + move-result-object v0
16952 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
16955 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
16960 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
16963 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
16965 + move-result-object v0
16969 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali opd-framework/smali/android/privacy/PrivacySettingsManagerService.smali
16970 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
16971 +++ opd-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2013-01-20 23:05:45.907697479 -0600
16973 +.class public final Landroid/privacy/PrivacySettingsManagerService;
16974 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
16975 +.source "PrivacySettingsManagerService.java"
16979 +.field private static final READ_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.READ_PRIVACY_SETTINGS"
16981 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
16983 +.field private static final VERSION:D = 1.51
16985 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
16987 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
16991 +.field private bootCompleted:Z
16993 +.field private context:Landroid/content/Context;
16995 +.field private enabled:Z
16997 +.field private notificationsEnabled:Z
16999 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17003 +.method public constructor <init>(Landroid/content/Context;)V
17006 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
17008 + const-string v0, "PrivacySettingsManagerService"
17010 + new-instance v1, Ljava/lang/StringBuilder;
17012 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17014 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
17016 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17018 + move-result-object v1
17020 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17022 + move-result-object v2
17024 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17026 + move-result-object v1
17028 + const-string v2, " UID: "
17030 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17032 + move-result-object v1
17034 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17038 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17040 + move-result-object v1
17042 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17044 + move-result-object v1
17046 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
17048 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17050 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
17052 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
17054 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17056 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17058 + const-string v1, "/data/system/privacy"
17060 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17062 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17064 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17066 + const-string v1, "enabled"
17068 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17070 + move-result-object v0
17072 + const-string v1, "1"
17074 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17078 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17080 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17082 + const-string/jumbo v1, "notifications_enabled"
17084 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
17086 + move-result-object v0
17088 + const-string v1, "1"
17090 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17094 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17098 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17103 +.method private checkCallerCanReadOrThrow()V
17106 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17110 + const/16 v1, 0x3e8
17112 + if-ne v0, v1, :cond_9
17118 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17120 + const-string v1, "android.privacy.READ_PRIVACY_SETTINGS"
17122 + const-string v2, "Requires READ_PRIVACY_SETTINGS"
17124 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17129 +.method private checkCallerCanReadSettings()Z
17133 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanReadOrThrow()V
17135 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17143 + move-exception v0
17150 +.method private checkCallerCanWriteOrThrow()V
17152 + .annotation system Ldalvik/annotation/Throws;
17154 + Landroid/os/RemoteException;
17158 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17160 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
17162 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
17164 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
17169 +.method private checkCallerCanWriteSettings()Z
17171 + .annotation system Ldalvik/annotation/Throws;
17173 + Landroid/os/RemoteException;
17178 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17180 + .catch Ljava/lang/SecurityException; {:try_start_0 .. :try_end_3} :catch_5
17188 + move-exception v0
17197 +.method public addObserver(Ljava/lang/String;)V
17199 + .annotation system Ldalvik/annotation/Throws;
17201 + Landroid/os/RemoteException;
17205 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17207 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17209 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17214 +.method public deleteSettings(Ljava/lang/String;)Z
17216 + .annotation system Ldalvik/annotation/Throws;
17218 + Landroid/os/RemoteException;
17224 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17228 + const/16 v3, 0x3e8
17230 + if-eq v2, v3, :cond_c
17232 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17235 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17237 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
17241 + new-instance v2, Ljava/lang/StringBuilder;
17243 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17245 + const-string v3, "/data/system/privacy/"
17247 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17249 + move-result-object v2
17251 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17253 + move-result-object v2
17255 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17257 + move-result-object v0
17259 + new-instance v2, Ljava/io/File;
17261 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
17263 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
17267 + if-eqz v2, :cond_38
17269 + if-ne v1, v4, :cond_38
17271 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17273 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17280 + if-ne v1, v4, :cond_37
17282 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17284 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
17286 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
17291 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17294 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17296 + if-nez v0, :cond_2e
17298 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17300 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17302 + move-result-object v0
17304 + const-string v1, "com.privacy.pdroid"
17306 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17310 + if-nez v0, :cond_2e
17312 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17314 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17316 + move-result-object v0
17318 + const-string v1, "com.privacy.pdroid.Addon"
17320 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17324 + if-nez v0, :cond_2e
17326 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17328 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
17330 + move-result-object v0
17332 + const-string v1, "com.android.privacy.pdroid.extension"
17334 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
17338 + if-eqz v0, :cond_35
17341 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17343 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17345 + move-result-object v0
17356 +.method public getVersion()D
17359 + const-wide v0, 0x3ff828f5c28f5c29L
17364 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17367 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17369 + if-eqz v1, :cond_34
17371 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17373 + if-eqz v1, :cond_34
17375 + new-instance v0, Landroid/content/Intent;
17377 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
17379 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
17381 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
17383 + const-string/jumbo v1, "packageName"
17385 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17387 + const-string/jumbo v1, "uid"
17391 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
17393 + const-string v1, "accessMode"
17395 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
17397 + const-string v1, "dataType"
17399 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17401 + const-string/jumbo v1, "output"
17403 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
17405 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
17407 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
17413 +.method public purgeSettings()Z
17416 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17418 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
17425 +.method public registerObservers()V
17427 + .annotation system Ldalvik/annotation/Throws;
17429 + Landroid/os/RemoteException;
17433 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17435 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
17437 + const-string v1, "/data/system/privacy"
17439 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
17441 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17446 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
17448 + .annotation system Ldalvik/annotation/Throws;
17450 + Landroid/os/RemoteException;
17454 + const-string v1, "PrivacySettingsManagerService"
17456 + new-instance v2, Ljava/lang/StringBuilder;
17458 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17460 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
17462 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17464 + move-result-object v2
17466 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17470 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17472 + move-result-object v2
17474 + const-string v3, ") has sufficient permissions"
17476 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17478 + move-result-object v2
17480 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17482 + move-result-object v2
17484 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17486 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
17490 + const/16 v2, 0x3e8
17492 + if-eq v1, v2, :cond_2e
17494 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17497 + const-string v1, "PrivacySettingsManagerService"
17499 + new-instance v2, Ljava/lang/StringBuilder;
17501 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
17503 + const-string/jumbo v3, "saveSettings - "
17505 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17507 + move-result-object v2
17509 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17511 + move-result-object v2
17513 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17515 + move-result-object v2
17517 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
17519 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17521 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
17527 + if-ne v0, v1, :cond_59
17529 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
17531 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
17533 + move-result-object v2
17535 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
17541 +.method public setBootCompleted()V
17546 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17551 +.method public setEnabled(Z)Z
17553 + .annotation system Ldalvik/annotation/Throws;
17555 + Landroid/os/RemoteException;
17561 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17563 + if-eqz p1, :cond_15
17565 + const-string v0, "1"
17568 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17570 + const-string v3, "enabled"
17572 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
17576 + if-eqz v2, :cond_18
17578 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
17584 + const-string v0, "0"
17594 +.method public setNotificationsEnabled(Z)Z
17596 + .annotation system Ldalvik/annotation/Throws;
17598 + Landroid/os/RemoteException;
17604 + invoke-direct {p0}, Landroid/privacy/PrivacySettingsManagerService;->checkCallerCanWriteOrThrow()V
17606 + if-eqz p1, :cond_18
17608 + const-string v0, "1"
17611 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
17613 + const-string/jumbo v3, "notifications_enabled"
17615 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
17619 + if-eqz v2, :cond_1b
17621 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
17623 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
17629 + const-string v0, "0"
17638 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali opd-framework/smali/android/privacy/PrivacySettingsManager.smali
17639 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
17640 +++ opd-framework/smali/android/privacy/PrivacySettingsManager.smali 2013-01-20 23:05:45.907697479 -0600
17642 +.class public final Landroid/privacy/PrivacySettingsManager;
17643 +.super Ljava/lang/Object;
17644 +.source "PrivacySettingsManager.java"
17648 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
17650 +.field public static final ACTION_PRIVACY_NOTIFICATION_ADDON:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION_ADDON"
17652 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
17656 +.field private service:Landroid/privacy/IPrivacySettingsManager;
17660 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
17663 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17665 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17672 +.method public addObserver(Ljava/lang/String;)V
17676 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17678 + if-eqz v1, :cond_a
17680 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17682 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
17688 + const-string v1, "PrivacySettingsManager"
17690 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
17692 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17694 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
17699 + move-exception v0
17701 + const-string v1, "PrivacySettingsManager"
17703 + const-string v2, "RemoteException in addObserver: "
17705 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17710 +.method public deleteSettings(Ljava/lang/String;)Z
17716 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17718 + if-eqz v2, :cond_c
17720 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17722 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
17730 + const-string v2, "PrivacySettingsManager"
17732 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
17734 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17736 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
17741 + move-exception v0
17743 + const-string v2, "PrivacySettingsManager"
17745 + const-string v3, "RemoteException in deleteSettings: "
17747 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17752 +.method public deleteSettings(Ljava/lang/String;I)Z
17754 + .annotation runtime Ljava/lang/Deprecated;
17757 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
17764 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17770 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17772 + if-eqz v2, :cond_c
17774 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17776 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17778 + move-result-object v1
17784 + const-string v2, "PrivacySettingsManager"
17786 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
17788 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17790 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
17795 + move-exception v0
17797 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
17802 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
17804 + .annotation runtime Ljava/lang/Deprecated;
17807 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
17809 + move-result-object v0
17814 +.method public getVersion()D
17818 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17820 + if-eqz v1, :cond_b
17822 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17824 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
17826 + move-result-wide v1
17832 + const-string v1, "PrivacySettingsManager"
17834 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
17836 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17838 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
17841 + const-wide/16 v1, 0x0
17846 + move-exception v0
17848 + const-string v1, "PrivacySettingsManager"
17850 + const-string v2, "RemoteException in getVersion: "
17852 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17857 +.method public isServiceAvailable()Z
17860 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17862 + if-eqz v0, :cond_6
17875 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17879 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17881 + if-eqz v1, :cond_a
17883 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17885 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17891 + const-string v1, "PrivacySettingsManager"
17893 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
17895 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17897 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
17902 + move-exception v0
17904 + const-string v1, "PrivacySettingsManager"
17906 + const-string v2, "RemoteException in notification: "
17908 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17913 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17915 + .annotation runtime Ljava/lang/Deprecated;
17918 + invoke-virtual {p0, p1, p2, p3, p4}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17923 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
17925 + .annotation runtime Ljava/lang/Deprecated;
17928 + invoke-virtual {p0, p1, p3, p4, p5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
17933 +.method public purgeSettings()Z
17937 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17939 + if-eqz v1, :cond_b
17941 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17943 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
17951 + const-string v1, "PrivacySettingsManager"
17953 + const-string/jumbo v2, "purgeSettings - PrivacySettingsManagerService is null"
17955 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17957 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
17965 + move-exception v0
17967 + const-string v1, "PrivacySettingsManager"
17969 + const-string v2, "RemoteException in purgeSettings: "
17971 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
17976 +.method public registerObservers()V
17980 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17982 + if-eqz v1, :cond_a
17984 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
17986 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
17992 + const-string v1, "PrivacySettingsManager"
17994 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
17996 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
17998 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
18003 + move-exception v0
18005 + const-string v1, "PrivacySettingsManager"
18007 + const-string v2, "RemoteException in registerObservers: "
18009 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18014 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
18020 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18022 + if-eqz v2, :cond_c
18024 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18026 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
18034 + const-string v2, "PrivacySettingsManager"
18036 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
18038 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18040 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
18045 + move-exception v0
18047 + const-string v2, "PrivacySettingsManager"
18049 + const-string v3, "RemoteException in saveSettings: "
18051 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18056 +.method public setBootCompleted()V
18060 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18062 + if-eqz v1, :cond_a
18064 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18066 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
18072 + const-string v1, "PrivacySettingsManager"
18074 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
18076 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18078 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
18083 + move-exception v0
18085 + const-string v1, "PrivacySettingsManager"
18087 + const-string v2, "RemoteException in setBootCompleted: "
18089 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18094 +.method public setEnabled(Z)Z
18098 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18100 + if-eqz v1, :cond_b
18102 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18104 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
18112 + const-string v1, "PrivacySettingsManager"
18114 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
18116 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18118 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18126 + move-exception v0
18128 + const-string v1, "PrivacySettingsManager"
18130 + const-string v2, "RemoteException in setEnabled: "
18132 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18137 +.method public setNotificationsEnabled(Z)Z
18141 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18143 + if-eqz v1, :cond_b
18145 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
18147 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
18155 + const-string v1, "PrivacySettingsManager"
18157 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
18159 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
18161 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
18169 + move-exception v0
18171 + const-string v1, "PrivacySettingsManager"
18173 + const-string v2, "RemoteException in setNotificationsEnabled: "
18175 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
18179 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali opd-framework/smali/android/privacy/PrivacySettings.smali
18180 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
18181 +++ opd-framework/smali/android/privacy/PrivacySettings.smali 2013-01-20 23:05:45.907697479 -0600
18183 +.class public final Landroid/privacy/PrivacySettings;
18184 +.super Ljava/lang/Object;
18185 +.source "PrivacySettings.java"
18188 +.implements Landroid/os/Parcelable;
18192 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
18193 + .annotation system Ldalvik/annotation/Signature;
18195 + "Landroid/os/Parcelable$Creator",
18197 + "Landroid/privacy/PrivacySettings;",
18203 +.field public static final CUSTOM:B = 0x2t
18205 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
18207 +.field public static final DATA_ANDROID_ID:Ljava/lang/String; = "android_id"
18209 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
18211 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
18213 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
18215 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
18217 +.field public static final DATA_CAMERA:Ljava/lang/String; = "camera"
18219 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
18221 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
18223 +.field public static final DATA_ICC_ACCESS:Ljava/lang/String; = "iccAccess"
18225 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
18227 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
18229 +.field public static final DATA_IP_TABLES:Ljava/lang/String; = "iptables"
18231 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
18233 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
18235 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
18237 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
18239 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
18241 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
18243 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
18245 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
18247 +.field public static final DATA_PHONE_CALL:Ljava/lang/String; = "phoneCall"
18249 +.field public static final DATA_RECORD_AUDIO:Ljava/lang/String; = "recordAudio"
18251 +.field public static final DATA_SEND_MMS:Ljava/lang/String; = "sendMms"
18253 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
18255 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
18257 +.field public static final DATA_SMS_SEND:Ljava/lang/String; = "SmsSend"
18259 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
18261 +.field public static final DATA_SWITCH_CONNECTIVITY:Ljava/lang/String; = "switchconnectivity"
18263 +.field public static final DATA_SWITCH_WIFI_STATE:Ljava/lang/String; = "switchWifiState"
18265 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
18267 +.field public static final DATA_WIFI_INFO:Ljava/lang/String; = "wifiInfo"
18269 +.field public static final EMPTY:B = 0x1t
18271 +.field public static final ID_PATTERN:[Ljava/lang/String; = null
18273 +.field public static final RANDOM:B = 0x3t
18275 +.field public static final REAL:B = 0x0t
18277 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
18279 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
18283 +.field private final _id:Ljava/lang/Integer;
18285 +.field private accountsAuthTokensSetting:B
18287 +.field private accountsSetting:B
18289 +.field private addOnManagementSetting:B
18291 +.field private allowedContacts:[I
18293 +.field private androidID:Ljava/lang/String;
18295 +.field private androidIdSetting:B
18297 +.field private bookmarksSetting:B
18299 +.field private calendarSetting:B
18301 +.field private callLogSetting:B
18303 +.field private cameraSetting:B
18305 +.field private contactsSetting:B
18307 +.field private deviceId:Ljava/lang/String;
18309 +.field private deviceIdSetting:B
18311 +.field private forceOnlineState:B
18313 +.field private iccAccessSetting:B
18315 +.field private incomingCallsSetting:B
18317 +.field private intentBootCompletedSetting:B
18319 +.field private ipTableProtectSetting:B
18321 +.field private line1Number:Ljava/lang/String;
18323 +.field private line1NumberSetting:B
18325 +.field private locationGpsLat:Ljava/lang/String;
18327 +.field private locationGpsLon:Ljava/lang/String;
18329 +.field private locationGpsSetting:B
18331 +.field private locationNetworkLat:Ljava/lang/String;
18333 +.field private locationNetworkLon:Ljava/lang/String;
18335 +.field private locationNetworkSetting:B
18337 +.field private mmsSetting:B
18339 +.field private networkInfoSetting:B
18341 +.field private notificationSetting:B
18343 +.field private outgoingCallsSetting:B
18345 +.field private packageName:Ljava/lang/String;
18347 +.field private phoneCallSetting:B
18349 +.field private recordAudioSetting:B
18351 +.field private sendMmsSetting:B
18353 +.field private simInfoSetting:B
18355 +.field private simSerialNumber:Ljava/lang/String;
18357 +.field private simSerialNumberSetting:B
18359 +.field private smsSendSetting:B
18361 +.field private smsSetting:B
18363 +.field private subscriberId:Ljava/lang/String;
18365 +.field private subscriberIdSetting:B
18367 +.field private switchConnectivitySetting:B
18369 +.field private switchWifiStateSetting:B
18371 +.field private systemLogsSetting:B
18373 +.field private uid:I
18375 +.field private wifiInfoSetting:B
18379 +.method static constructor <clinit>()V
18382 + const/16 v0, 0x10
18384 + new-array v0, v0, [Ljava/lang/String;
18388 + const-string v2, "0"
18390 + aput-object v2, v0, v1
18394 + const-string v2, "1"
18396 + aput-object v2, v0, v1
18400 + const-string v2, "2"
18402 + aput-object v2, v0, v1
18406 + const-string v2, "3"
18408 + aput-object v2, v0, v1
18412 + const-string v2, "4"
18414 + aput-object v2, v0, v1
18418 + const-string v2, "5"
18420 + aput-object v2, v0, v1
18424 + const-string v2, "6"
18426 + aput-object v2, v0, v1
18430 + const-string v2, "7"
18432 + aput-object v2, v0, v1
18436 + const-string v2, "8"
18438 + aput-object v2, v0, v1
18442 + const-string v2, "9"
18444 + aput-object v2, v0, v1
18448 + const-string v2, "a"
18450 + aput-object v2, v0, v1
18454 + const-string v2, "b"
18456 + aput-object v2, v0, v1
18460 + const-string v2, "c"
18462 + aput-object v2, v0, v1
18466 + const-string v2, "d"
18468 + aput-object v2, v0, v1
18472 + const-string v2, "e"
18474 + aput-object v2, v0, v1
18478 + const-string v2, "f"
18480 + aput-object v2, v0, v1
18482 + sput-object v0, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
18484 + new-instance v0, Landroid/privacy/PrivacySettings$1;
18486 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
18488 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
18493 +.method public constructor <init>(Landroid/os/Parcel;)V
18496 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18498 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
18504 + if-ne v0, v1, :cond_122
18509 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18511 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18513 + move-result-object v1
18515 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18517 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
18521 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
18523 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18527 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18529 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18531 + move-result-object v1
18533 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18535 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18539 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18541 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18543 + move-result-object v1
18545 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18547 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18551 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18553 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18555 + move-result-object v1
18557 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18559 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18561 + move-result-object v1
18563 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18565 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18569 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18571 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18573 + move-result-object v1
18575 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18577 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18579 + move-result-object v1
18581 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18583 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18587 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18589 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18593 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18595 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18599 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18601 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18603 + move-result-object v1
18605 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18607 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18611 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18613 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18615 + move-result-object v1
18617 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18619 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18623 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18625 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18629 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18631 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18635 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18637 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18641 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18643 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18647 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18649 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18653 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18655 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18659 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18661 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18665 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18667 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18671 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18673 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18677 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18679 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18683 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18685 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18689 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18691 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18695 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
18697 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18701 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
18703 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18707 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18709 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
18711 + move-result-object v1
18713 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
18715 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18719 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18721 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18725 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18727 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18731 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
18733 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18737 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
18739 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18743 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
18745 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18749 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
18751 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
18753 + move-result-object v1
18755 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
18757 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18761 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18763 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18767 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18769 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18773 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18775 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18779 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
18781 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
18785 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
18790 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
18792 + move-result-object v1
18797 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
18806 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18808 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18810 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18812 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
18814 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18816 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18818 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18820 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18822 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18824 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18826 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18828 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18830 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18832 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18834 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18836 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18838 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18840 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18842 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18844 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18846 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18848 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18850 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18852 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18854 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18856 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18858 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18860 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18862 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18864 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18866 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18868 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18870 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
18872 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
18874 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18876 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
18878 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18880 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18882 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
18884 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
18886 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
18888 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
18890 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
18892 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18894 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18896 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18898 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
18900 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
18905 +.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
18908 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
18910 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18912 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18914 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
18916 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18918 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18920 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18922 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18924 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18926 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18928 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18930 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18932 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18934 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18936 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18938 + move/from16 v0, p15
18940 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18942 + move/from16 v0, p16
18944 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18946 + move-object/from16 v0, p17
18948 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18950 + move/from16 v0, p18
18952 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18954 + move-object/from16 v0, p19
18956 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18958 + move/from16 v0, p20
18960 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18962 + move/from16 v0, p21
18964 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18966 + move/from16 v0, p22
18968 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18970 + move/from16 v0, p23
18972 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18974 + move/from16 v0, p24
18976 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18978 + move/from16 v0, p25
18980 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18982 + move/from16 v0, p26
18984 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18986 + move/from16 v0, p27
18988 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18990 + move/from16 v0, p28
18992 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18994 + move/from16 v0, p29
18996 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18998 + move/from16 v0, p30
19000 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19002 + move/from16 v0, p34
19004 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19006 + move/from16 v0, p35
19008 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19010 + move/from16 v0, p32
19012 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19014 + move/from16 v0, p33
19016 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19018 + move-object/from16 v0, p36
19020 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19022 + move/from16 v0, p37
19024 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19026 + move/from16 v0, p38
19028 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19030 + move/from16 v0, p39
19032 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19034 + move/from16 v0, p40
19036 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19038 + move/from16 v0, p41
19040 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19042 + move/from16 v0, p42
19044 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19046 + move-object/from16 v0, p43
19048 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19050 + move/from16 v0, p44
19052 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19054 + move/from16 v0, p45
19056 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19058 + move/from16 v0, p46
19060 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19062 + move/from16 v0, p47
19064 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19066 + move/from16 v0, p48
19068 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19073 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IZ)V
19084 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
19086 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19088 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19090 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
19092 + if-eqz p4, :cond_68
19094 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19096 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19098 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19100 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19102 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19104 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19106 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19108 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19110 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19112 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19114 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19116 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19118 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19120 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19122 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19124 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19126 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19128 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19130 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19132 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19134 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19136 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19138 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19140 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19142 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19144 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19146 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19148 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19150 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19152 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19154 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19156 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19158 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19160 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19162 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19164 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19166 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19168 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19170 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19172 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19174 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19176 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19178 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19180 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19186 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19188 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19190 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19192 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19194 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19196 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19198 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19200 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19202 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19204 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19206 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19208 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19210 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19212 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19214 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19216 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19218 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19220 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19222 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19224 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19226 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19228 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19230 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19232 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19234 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19236 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19238 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19240 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19242 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19244 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19246 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19248 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19250 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19252 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19254 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19256 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19258 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19260 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19262 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19264 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19266 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19268 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19270 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19272 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19277 +.method private getRandomLat()Ljava/lang/String;
19280 + const-wide v7, 0x4056800000000000L
19282 + invoke-static {}, Ljava/lang/Math;->random()D
19284 + move-result-wide v3
19286 + const-wide v5, 0x4066800000000000L
19288 + mul-double v0, v3, v5
19290 + cmpl-double v3, v0, v7
19292 + if-lez v3, :cond_35
19294 + new-instance v2, Ljava/math/BigDecimal;
19296 + sub-double v3, v0, v7
19298 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19301 + new-instance v3, Ljava/lang/StringBuilder;
19303 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19309 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
19311 + move-result-object v4
19313 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19315 + move-result-object v3
19317 + const-string v4, ""
19319 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19321 + move-result-object v3
19323 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19325 + move-result-object v3
19330 + new-instance v2, Ljava/math/BigDecimal;
19332 + neg-double v3, v0
19334 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19339 +.method private getRandomLon()Ljava/lang/String;
19342 + const-wide v7, 0x4066800000000000L
19344 + invoke-static {}, Ljava/lang/Math;->random()D
19346 + move-result-wide v3
19348 + const-wide v5, 0x4076800000000000L
19350 + mul-double v0, v3, v5
19352 + cmpl-double v3, v0, v7
19354 + if-lez v3, :cond_35
19356 + new-instance v2, Ljava/math/BigDecimal;
19358 + sub-double v3, v0, v7
19360 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19363 + new-instance v3, Ljava/lang/StringBuilder;
19365 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19371 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
19373 + move-result-object v4
19375 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
19377 + move-result-object v3
19379 + const-string v4, ""
19381 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19383 + move-result-object v3
19385 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19387 + move-result-object v3
19392 + new-instance v2, Ljava/math/BigDecimal;
19394 + neg-double v3, v0
19396 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
19403 +.method public describeContents()I
19411 +.method public getAccountsAuthTokensSetting()B
19414 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19419 +.method public getAccountsSetting()B
19422 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19427 +.method public getAddOnManagementSetting()B
19430 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19435 +.method public getAllowedContacts()[I
19438 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19443 +.method public getAndroidID()Ljava/lang/String;
19446 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19450 + if-ne v3, v4, :cond_9
19452 + const-string/jumbo v3, "q4a5w896ay21dr46"
19458 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19462 + if-ne v3, v4, :cond_36
19464 + new-instance v2, Ljava/util/Random;
19466 + invoke-direct {v2}, Ljava/util/Random;-><init>()V
19468 + new-instance v1, Ljava/lang/StringBuilder;
19470 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
19475 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19477 + array-length v3, v3
19479 + if-ge v0, v3, :cond_31
19481 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19483 + sget-object v4, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
19485 + array-length v4, v4
19487 + add-int/lit8 v4, v4, -0x1
19489 + invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
19493 + aget-object v3, v3, v4
19495 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19497 + add-int/lit8 v0, v0, 0x1
19502 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19504 + move-result-object v3
19509 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19514 +.method public getAndroidIdSetting()B
19517 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19522 +.method public getBookmarksSetting()B
19525 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19530 +.method public getCalendarSetting()B
19533 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19538 +.method public getCallLogSetting()B
19541 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19546 +.method public getCameraSetting()B
19549 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19554 +.method public getContactsSetting()B
19557 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19562 +.method public getDeviceId()Ljava/lang/String;
19569 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19573 + if-ne v3, v4, :cond_b
19575 + const-string v3, ""
19581 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19585 + if-ne v3, v4, :cond_62
19587 + new-instance v1, Ljava/util/Random;
19589 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
19591 + new-instance v3, Ljava/lang/StringBuilder;
19593 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19595 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
19597 + move-result-wide v4
19599 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
19601 + move-result-wide v4
19603 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
19605 + move-result-object v3
19607 + const-string v4, ""
19609 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19611 + move-result-object v3
19613 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19615 + move-result-object v2
19617 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19621 + if-le v3, v6, :cond_3b
19623 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19625 + move-result-object v3
19630 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19635 + const/16 v3, 0x10
19637 + if-gt v0, v3, :cond_5d
19639 + new-instance v3, Ljava/lang/StringBuilder;
19641 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19643 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19645 + move-result-object v3
19649 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
19653 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19655 + move-result-object v3
19657 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19659 + move-result-object v2
19661 + add-int/lit8 v0, v0, 0x1
19666 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19668 + move-result-object v3
19673 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19678 +.method public getDeviceIdSetting()B
19681 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19686 +.method public getForceOnlineState()B
19689 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19694 +.method public getIccAccessSetting()B
19697 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19702 +.method public getIncomingCallsSetting()B
19705 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19710 +.method public getIntentBootCompletedSetting()B
19713 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19718 +.method public getIpTableProtectSetting()B
19721 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19726 +.method public getLine1Number()Ljava/lang/String;
19733 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19737 + if-ne v3, v4, :cond_b
19739 + const-string v3, ""
19745 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19749 + if-ne v3, v4, :cond_68
19751 + new-instance v1, Ljava/util/Random;
19753 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
19755 + new-instance v3, Ljava/lang/StringBuilder;
19757 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19759 + const-string v4, "+"
19761 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19763 + move-result-object v3
19765 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
19767 + move-result-wide v4
19769 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
19771 + move-result-wide v4
19773 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
19775 + move-result-object v3
19777 + const-string v4, ""
19779 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19781 + move-result-object v3
19783 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19785 + move-result-object v2
19787 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19791 + if-le v3, v6, :cond_41
19793 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19795 + move-result-object v3
19800 + invoke-virtual {v2}, Ljava/lang/String;->length()I
19807 + if-gt v0, v3, :cond_63
19809 + new-instance v3, Ljava/lang/StringBuilder;
19811 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
19813 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19815 + move-result-object v3
19819 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
19823 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19825 + move-result-object v3
19827 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19829 + move-result-object v2
19831 + add-int/lit8 v0, v0, 0x1
19836 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
19838 + move-result-object v3
19843 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19848 +.method public getLine1NumberSetting()B
19851 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19856 +.method public getLocationGpsLat()Ljava/lang/String;
19859 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19863 + if-ne v0, v1, :cond_8
19865 + const-string v0, ""
19871 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19875 + if-ne v0, v1, :cond_12
19877 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
19879 + move-result-object v0
19884 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19889 +.method public getLocationGpsLon()Ljava/lang/String;
19892 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19896 + if-ne v0, v1, :cond_8
19898 + const-string v0, ""
19904 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19908 + if-ne v0, v1, :cond_12
19910 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
19912 + move-result-object v0
19917 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19922 +.method public getLocationGpsSetting()B
19925 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19930 +.method public getLocationNetworkLat()Ljava/lang/String;
19933 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19937 + if-ne v0, v1, :cond_8
19939 + const-string v0, ""
19945 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19949 + if-ne v0, v1, :cond_12
19951 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
19953 + move-result-object v0
19958 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19963 +.method public getLocationNetworkLon()Ljava/lang/String;
19966 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19970 + if-ne v0, v1, :cond_8
19972 + const-string v0, ""
19978 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19982 + if-ne v0, v1, :cond_12
19984 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
19986 + move-result-object v0
19991 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19996 +.method public getLocationNetworkSetting()B
19999 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20004 +.method public getMmsSetting()B
20007 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20012 +.method public getNetworkInfoSetting()B
20015 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20020 +.method public getNotificationSetting()B
20023 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20028 +.method public getOutgoingCallsSetting()B
20031 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20036 +.method public getPackageName()Ljava/lang/String;
20039 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20044 +.method public getPhoneCallSetting()B
20047 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20052 +.method public getRecordAudioSetting()B
20055 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20060 +.method public getSendMmsSetting()B
20063 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20068 +.method public getSimInfoSetting()B
20071 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20076 +.method public getSimSerialNumber()Ljava/lang/String;
20079 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20083 + if-ne v1, v2, :cond_8
20085 + const-string v1, ""
20091 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20095 + if-ne v1, v2, :cond_2e
20097 + new-instance v0, Ljava/util/Random;
20099 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
20101 + new-instance v1, Ljava/lang/StringBuilder;
20103 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
20105 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
20107 + move-result-wide v2
20109 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
20111 + move-result-wide v2
20113 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20115 + move-result-object v1
20117 + const-string v2, ""
20119 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20121 + move-result-object v1
20123 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20125 + move-result-object v1
20130 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20135 +.method public getSimSerialNumberSetting()B
20138 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20143 +.method public getSmsSendSetting()B
20146 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20151 +.method public getSmsSetting()B
20154 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20159 +.method public getSubscriberId()Ljava/lang/String;
20166 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20170 + if-ne v3, v4, :cond_b
20172 + const-string v3, ""
20178 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20182 + if-ne v3, v4, :cond_62
20184 + new-instance v1, Ljava/util/Random;
20186 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
20188 + new-instance v3, Ljava/lang/StringBuilder;
20190 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20192 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
20194 + move-result-wide v4
20196 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
20198 + move-result-wide v4
20200 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
20202 + move-result-object v3
20204 + const-string v4, ""
20206 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20208 + move-result-object v3
20210 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20212 + move-result-object v2
20214 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20218 + if-le v3, v6, :cond_3b
20220 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20222 + move-result-object v3
20227 + invoke-virtual {v2}, Ljava/lang/String;->length()I
20232 + const/16 v3, 0x10
20234 + if-gt v0, v3, :cond_5d
20236 + new-instance v3, Ljava/lang/StringBuilder;
20238 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
20240 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20242 + move-result-object v3
20246 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
20250 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20252 + move-result-object v3
20254 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
20256 + move-result-object v2
20258 + add-int/lit8 v0, v0, 0x1
20263 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
20265 + move-result-object v3
20270 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20275 +.method public getSubscriberIdSetting()B
20278 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20283 +.method public getSwitchConnectivitySetting()B
20286 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
20291 +.method public getSwitchWifiStateSetting()B
20294 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
20299 +.method public getSystemLogsSetting()B
20302 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
20307 +.method public getUid()I
20310 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
20315 +.method public getWifiInfoSetting()B
20318 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
20323 +.method public get_id()Ljava/lang/Integer;
20326 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
20331 +.method public setAccountsAuthTokensSetting(B)V
20334 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20339 +.method public setAccountsSetting(B)V
20342 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20347 +.method public setAddOnManagementSetting(B)V
20350 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
20355 +.method public setAllowedContacts([I)V
20358 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
20363 +.method public setAndroidID(Ljava/lang/String;)V
20366 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
20371 +.method public setAndroidIdSetting(B)V
20374 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
20379 +.method public setBookmarksSetting(B)V
20382 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20387 +.method public setCalendarSetting(B)V
20390 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20395 +.method public setCallLogSetting(B)V
20398 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20403 +.method public setCameraSetting(B)V
20406 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
20411 +.method public setContactsSetting(B)V
20414 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20419 +.method public setDeviceId(Ljava/lang/String;)V
20422 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
20427 +.method public setDeviceIdSetting(B)V
20430 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20435 +.method public setForceOnlineState(B)V
20438 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
20443 +.method public setIccAccessSetting(B)V
20446 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
20451 +.method public setIncomingCallsSetting(B)V
20454 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
20459 +.method public setIntentBootCompletedSetting(B)V
20462 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
20467 +.method public setIpTableProtectSetting(B)V
20470 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
20475 +.method public setLine1Number(Ljava/lang/String;)V
20478 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20483 +.method public setLine1NumberSetting(B)V
20486 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20491 +.method public setLocationGpsLat(Ljava/lang/String;)V
20494 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20499 +.method public setLocationGpsLon(Ljava/lang/String;)V
20502 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20507 +.method public setLocationGpsSetting(B)V
20510 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20515 +.method public setLocationNetworkLat(Ljava/lang/String;)V
20518 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20523 +.method public setLocationNetworkLon(Ljava/lang/String;)V
20526 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20531 +.method public setLocationNetworkSetting(B)V
20534 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20539 +.method public setMmsSetting(B)V
20542 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20547 +.method public setNetworkInfoSetting(B)V
20550 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20555 +.method public setNotificationSetting(B)V
20558 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20563 +.method public setOutgoingCallsSetting(B)V
20566 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20571 +.method public setPackageName(Ljava/lang/String;)V
20574 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20579 +.method public setPhoneCallSetting(B)V
20582 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
20587 +.method public setRecordAudioSetting(B)V
20590 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
20595 +.method public setSendMmsSetting(B)V
20598 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
20603 +.method public setSimInfoSetting(B)V
20606 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
20611 +.method public setSimSerialNumber(Ljava/lang/String;)V
20614 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
20619 +.method public setSimSerialNumberSetting(B)V
20622 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
20627 +.method public setSmsSendSetting(B)V
20630 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
20635 +.method public setSmsSetting(B)V
20638 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
20643 +.method public setSubscriberId(Ljava/lang/String;)V
20646 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
20651 +.method public setSubscriberIdSetting(B)V
20654 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
20659 +.method public setSwitchConnectivitySetting(B)V
20662 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
20667 +.method public setSwitchWifiStateSetting(B)V
20670 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
20675 +.method public setSystemLogsSetting(B)V
20678 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
20683 +.method public setUid(I)V
20686 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
20691 +.method public setWifiInfoSetting(B)V
20694 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
20699 +.method public toString()Ljava/lang/String;
20702 + new-instance v0, Ljava/lang/StringBuilder;
20704 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
20706 + const-string v1, "PrivacySettings [_id="
20708 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20710 + move-result-object v0
20712 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
20714 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20716 + move-result-object v0
20718 + const-string v1, ", accountsAuthTokensSetting="
20720 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20722 + move-result-object v0
20724 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
20726 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20728 + move-result-object v0
20730 + const-string v1, ", accountsSetting="
20732 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20734 + move-result-object v0
20736 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
20738 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20740 + move-result-object v0
20742 + const-string v1, ", bookmarksSetting="
20744 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20746 + move-result-object v0
20748 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
20750 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20752 + move-result-object v0
20754 + const-string v1, ", calendarSetting="
20756 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20758 + move-result-object v0
20760 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
20762 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20764 + move-result-object v0
20766 + const-string v1, ", callLogSetting="
20768 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20770 + move-result-object v0
20772 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
20774 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20776 + move-result-object v0
20778 + const-string v1, ", contactsSetting="
20780 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20782 + move-result-object v0
20784 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
20786 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20788 + move-result-object v0
20790 + const-string v1, ", deviceId="
20792 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20794 + move-result-object v0
20796 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
20798 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20800 + move-result-object v0
20802 + const-string v1, ", deviceIdSetting="
20804 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20806 + move-result-object v0
20808 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
20810 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20812 + move-result-object v0
20814 + const-string v1, ", incomingCallsSetting="
20816 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20818 + move-result-object v0
20820 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
20822 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20824 + move-result-object v0
20826 + const-string v1, ", intentBootCompletedSetting="
20828 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20830 + move-result-object v0
20832 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
20834 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20836 + move-result-object v0
20838 + const-string v1, ", line1Number="
20840 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20842 + move-result-object v0
20844 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
20846 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20848 + move-result-object v0
20850 + const-string v1, ", line1NumberSetting="
20852 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20854 + move-result-object v0
20856 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
20858 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20860 + move-result-object v0
20862 + const-string v1, ", locationGpsLat="
20864 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20866 + move-result-object v0
20868 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
20870 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20872 + move-result-object v0
20874 + const-string v1, ", locationGpsLon="
20876 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20878 + move-result-object v0
20880 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
20882 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20884 + move-result-object v0
20886 + const-string v1, ", locationGpsSetting="
20888 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20890 + move-result-object v0
20892 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
20894 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20896 + move-result-object v0
20898 + const-string v1, ", locationNetworkLat="
20900 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20902 + move-result-object v0
20904 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
20906 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20908 + move-result-object v0
20910 + const-string v1, ", locationNetworkLon="
20912 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20914 + move-result-object v0
20916 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
20918 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20920 + move-result-object v0
20922 + const-string v1, ", locationNetworkSetting="
20924 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20926 + move-result-object v0
20928 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
20930 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20932 + move-result-object v0
20934 + const-string v1, ", mmsSetting="
20936 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20938 + move-result-object v0
20940 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
20942 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20944 + move-result-object v0
20946 + const-string v1, ", networkInfoSetting="
20948 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20950 + move-result-object v0
20952 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
20954 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20956 + move-result-object v0
20958 + const-string v1, ", notificationSetting="
20960 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20962 + move-result-object v0
20964 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
20966 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20968 + move-result-object v0
20970 + const-string v1, ", outgoingCallsSetting="
20972 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20974 + move-result-object v0
20976 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
20978 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
20980 + move-result-object v0
20982 + const-string v1, ", packageName="
20984 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20986 + move-result-object v0
20988 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
20990 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20992 + move-result-object v0
20994 + const-string v1, ", simInfoSetting="
20996 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
20998 + move-result-object v0
21000 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21002 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21004 + move-result-object v0
21006 + const-string v1, ", simSerialNumber="
21008 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21010 + move-result-object v0
21012 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21014 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21016 + move-result-object v0
21018 + const-string v1, ", simSerialNumberSetting="
21020 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21022 + move-result-object v0
21024 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21026 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21028 + move-result-object v0
21030 + const-string v1, ", smsSetting="
21032 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21034 + move-result-object v0
21036 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21038 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21040 + move-result-object v0
21042 + const-string v1, ", subscriberId="
21044 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21046 + move-result-object v0
21048 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21050 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21052 + move-result-object v0
21054 + const-string v1, ", subscriberIdSetting="
21056 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21058 + move-result-object v0
21060 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21062 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21064 + move-result-object v0
21066 + const-string v1, ", systemLogsSetting="
21068 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21070 + move-result-object v0
21072 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21074 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21076 + move-result-object v0
21078 + const-string v1, ", uid="
21080 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21082 + move-result-object v0
21084 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
21086 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21088 + move-result-object v0
21090 + const-string v1, ", phoneCallSetting="
21092 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21094 + move-result-object v0
21096 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21098 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21100 + move-result-object v0
21102 + const-string v1, ", smsSendSetting="
21104 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21106 + move-result-object v0
21108 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21110 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21112 + move-result-object v0
21114 + const-string v1, ", recordAudioSetting="
21116 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21118 + move-result-object v0
21120 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21122 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21124 + move-result-object v0
21126 + const-string v1, ", cameraSetting="
21128 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21130 + move-result-object v0
21132 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21134 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21136 + move-result-object v0
21138 + const-string v1, ", ipTableProtectSetting="
21140 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21142 + move-result-object v0
21144 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21146 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21148 + move-result-object v0
21150 + const-string v1, ", iccAccessSetting="
21152 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21154 + move-result-object v0
21156 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21158 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21160 + move-result-object v0
21162 + const-string v1, ", addOnManagementSetting="
21164 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21166 + move-result-object v0
21168 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21170 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21172 + move-result-object v0
21174 + const-string v1, ", android ID="
21176 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21178 + move-result-object v0
21180 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21182 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21184 + move-result-object v0
21186 + const-string v1, ", androidIdSetting="
21188 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21190 + move-result-object v0
21192 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21194 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21196 + move-result-object v0
21198 + const-string v1, ", wifiInfoSetting="
21200 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21202 + move-result-object v0
21204 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21206 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21208 + move-result-object v0
21210 + const-string v1, ", switchConnectivitySetting="
21212 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21214 + move-result-object v0
21216 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21218 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21220 + move-result-object v0
21222 + const-string v1, ", sendMmsSetting="
21224 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21226 + move-result-object v0
21228 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21230 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21232 + move-result-object v0
21234 + const-string v1, ", forceOnlineState="
21236 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21238 + move-result-object v0
21240 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21242 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21244 + move-result-object v0
21246 + const-string v1, ", switchWifiStateSetting="
21248 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21250 + move-result-object v0
21252 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21254 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
21256 + move-result-object v0
21258 + const-string v1, "]"
21260 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21262 + move-result-object v0
21264 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21266 + move-result-object v0
21271 +.method public writeToParcel(Landroid/os/Parcel;I)V
21274 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21276 + if-nez v0, :cond_ef
21281 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21283 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
21285 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21287 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
21289 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
21291 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
21293 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21295 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
21297 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21299 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
21301 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21303 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
21305 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21307 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
21309 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21311 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
21313 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21315 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
21317 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21319 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
21321 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21323 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
21325 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21327 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
21329 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21331 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
21333 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21335 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
21337 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21339 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
21341 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21343 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
21345 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21347 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
21349 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21351 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
21353 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21355 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
21357 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21359 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
21361 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21363 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
21365 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21367 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
21369 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21371 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
21373 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21375 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
21377 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21379 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
21381 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21383 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
21385 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21387 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
21389 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21391 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
21393 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21395 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
21397 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21399 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
21401 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21403 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
21405 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21407 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
21409 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21411 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
21413 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21415 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
21417 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
21419 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
21421 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21423 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
21425 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21427 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
21429 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21431 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
21433 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21435 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
21437 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21439 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
21441 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21443 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
21445 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
21447 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
21449 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21451 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
21453 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21455 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
21457 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21459 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
21461 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21463 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
21465 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
21470 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
21472 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
21478 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
21479 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
21480 +++ opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2013-01-20 23:05:45.907697479 -0600
21482 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21483 +.super Ljava/lang/Object;
21484 +.source "PrivacyAccountManager.java"
21487 +.implements Landroid/accounts/AccountManagerFuture;
21491 +.annotation system Ldalvik/annotation/EnclosingClass;
21492 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
21495 +.annotation system Ldalvik/annotation/InnerClass;
21496 + accessFlags = 0x2
21497 + name = "PrivacyAccountManagerFuture"
21500 +.annotation system Ldalvik/annotation/Signature;
21503 + "Ljava/lang/Object;",
21505 + "Ljava/lang/Object;",
21506 + "Landroid/accounts/AccountManagerFuture",
21513 +.field private result:Ljava/lang/Object;
21514 + .annotation system Ldalvik/annotation/Signature;
21521 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
21525 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
21527 + .annotation system Ldalvik/annotation/Signature;
21533 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
21535 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
21537 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21544 +.method public cancel(Z)Z
21552 +.method public getResult()Ljava/lang/Object;
21554 + .annotation system Ldalvik/annotation/Signature;
21560 + .annotation system Ldalvik/annotation/Throws;
21562 + Landroid/accounts/OperationCanceledException;,
21563 + Ljava/io/IOException;,
21564 + Landroid/accounts/AuthenticatorException;
21568 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21573 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
21575 + .annotation system Ldalvik/annotation/Signature;
21578 + "Ljava/util/concurrent/TimeUnit;",
21583 + .annotation system Ldalvik/annotation/Throws;
21585 + Landroid/accounts/OperationCanceledException;,
21586 + Ljava/io/IOException;,
21587 + Landroid/accounts/AuthenticatorException;
21591 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
21596 +.method public isCancelled()Z
21604 +.method public isDone()Z
21611 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
21612 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
21613 +++ opd-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2013-01-20 23:05:45.907697479 -0600
21615 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
21616 +.super Landroid/accounts/AccountManager;
21617 +.source "PrivacyAccountManager.java"
21621 +.annotation system Ldalvik/annotation/MemberClasses;
21623 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21629 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
21633 +.field private context:Landroid/content/Context;
21635 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
21639 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
21642 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
21644 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21646 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21648 + const-string/jumbo v1, "privacy"
21650 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21652 + move-result-object v1
21654 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21656 + move-result-object v1
21658 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21660 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21665 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
21668 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
21670 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21672 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21674 + const-string/jumbo v1, "privacy"
21676 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21678 + move-result-object v1
21680 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21682 + move-result-object v1
21684 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21686 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21693 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
21695 + .annotation system Ldalvik/annotation/Throws;
21697 + Landroid/accounts/OperationCanceledException;,
21698 + Ljava/io/IOException;,
21699 + Landroid/accounts/AuthenticatorException;
21705 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21707 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21709 + move-result-object v1
21711 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21715 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21717 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21719 + move-result-object v6
21721 + if-eqz v6, :cond_23
21723 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
21727 + if-eqz v0, :cond_23
21731 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21735 + const-string v4, "authTokens"
21737 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21743 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
21745 + move-result-object v7
21747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21751 + const-string v4, "authTokens"
21753 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21758 +.method public getAccounts()[Landroid/accounts/Account;
21765 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21767 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21769 + move-result-object v1
21771 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21775 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21777 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21779 + move-result-object v6
21781 + if-eqz v6, :cond_27
21783 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21787 + if-eqz v0, :cond_27
21789 + const-string v8, "[empty accounts list]"
21791 + new-array v7, v3, [Landroid/accounts/Account;
21793 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21797 + const-string v4, "accountsList"
21799 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21805 + const-string v8, "[real value]"
21807 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
21809 + move-result-object v7
21811 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21813 + const-string v4, "accountsList"
21815 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21820 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
21827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21829 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21831 + move-result-object v1
21833 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21837 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21839 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21841 + move-result-object v6
21843 + if-eqz v6, :cond_27
21845 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21849 + if-eqz v0, :cond_27
21851 + const-string v8, "[empty accounts list]"
21853 + new-array v7, v3, [Landroid/accounts/Account;
21855 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21859 + const-string v4, "accountsList"
21861 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21867 + const-string v8, "[real value]"
21869 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
21871 + move-result-object v7
21873 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21875 + const-string v4, "accountsList"
21877 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21882 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
21884 + .annotation system Ldalvik/annotation/Signature;
21887 + "Ljava/lang/String;",
21889 + "Ljava/lang/String;",
21890 + "Landroid/accounts/AccountManagerCallback",
21892 + "Landroid/accounts/Account;",
21894 + "Landroid/os/Handler;",
21896 + "Landroid/accounts/AccountManagerFuture",
21898 + "Landroid/accounts/Account;",
21907 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21909 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21911 + move-result-object v1
21913 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
21917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21919 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21921 + move-result-object v6
21923 + if-eqz v6, :cond_2c
21925 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
21929 + if-eqz v0, :cond_2c
21931 + const-string v8, "[false]"
21933 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
21935 + new-array v0, v3, [Landroid/accounts/Account;
21937 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
21939 + 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
21951 + const-string v8, "[real value]"
21953 + 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;
21955 + move-result-object v7
21957 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21959 + const-string v4, "accountsList"
21961 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21966 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
21968 + .annotation system Ldalvik/annotation/Signature;
21971 + "Landroid/accounts/Account;",
21972 + "Ljava/lang/String;",
21973 + "Landroid/os/Bundle;",
21974 + "Landroid/app/Activity;",
21975 + "Landroid/accounts/AccountManagerCallback",
21977 + "Landroid/os/Bundle;",
21979 + "Landroid/os/Handler;",
21981 + "Landroid/accounts/AccountManagerFuture",
21983 + "Landroid/os/Bundle;",
21990 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
21992 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21994 + move-result-object v1
21996 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22000 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22002 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22004 + move-result-object v6
22006 + if-eqz v6, :cond_2e
22008 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22012 + if-eqz v0, :cond_2e
22014 + const-string v8, "[empty]"
22016 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22018 + new-instance v0, Landroid/os/Bundle;
22020 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22022 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22028 + const-string v4, "authTokens"
22030 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22036 + const-string v8, "[real value]"
22038 + 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;
22040 + move-result-object v7
22042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22046 + const-string v4, "authTokens"
22048 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22053 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22055 + .annotation system Ldalvik/annotation/Signature;
22058 + "Landroid/accounts/Account;",
22059 + "Ljava/lang/String;",
22061 + "Landroid/accounts/AccountManagerCallback",
22063 + "Landroid/os/Bundle;",
22065 + "Landroid/os/Handler;",
22067 + "Landroid/accounts/AccountManagerFuture",
22069 + "Landroid/os/Bundle;",
22076 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22078 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22080 + move-result-object v1
22082 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22086 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22088 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22090 + move-result-object v6
22092 + if-eqz v6, :cond_2e
22094 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22098 + if-eqz v0, :cond_2e
22100 + const-string v8, "[empty]"
22102 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22104 + new-instance v0, Landroid/os/Bundle;
22106 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22108 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
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
22122 + const-string v8, "[real value]"
22124 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22126 + move-result-object v7
22128 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22132 + const-string v4, "authTokens"
22134 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22139 +.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;
22141 + .annotation system Ldalvik/annotation/Signature;
22144 + "Ljava/lang/String;",
22145 + "Ljava/lang/String;",
22147 + "Ljava/lang/String;",
22148 + "Landroid/app/Activity;",
22149 + "Landroid/os/Bundle;",
22150 + "Landroid/os/Bundle;",
22151 + "Landroid/accounts/AccountManagerCallback",
22153 + "Landroid/os/Bundle;",
22155 + "Landroid/os/Handler;",
22157 + "Landroid/accounts/AccountManagerFuture",
22159 + "Landroid/os/Bundle;",
22164 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22166 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22168 + move-result-object v1
22170 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22174 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22176 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22178 + move-result-object v6
22180 + if-eqz v6, :cond_2e
22182 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
22186 + if-eqz v0, :cond_2e
22188 + const-string v8, "[empty]"
22190 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22192 + new-instance v0, Landroid/os/Bundle;
22194 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
22196 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22198 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22202 + const-string v4, "authTokens"
22206 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22212 + const-string v8, "[real value]"
22214 + 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;
22216 + move-result-object v7
22218 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22222 + const-string v4, "authTokens"
22226 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22231 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
22233 + .annotation system Ldalvik/annotation/Signature;
22236 + "Landroid/accounts/Account;",
22238 + "Ljava/lang/String;",
22239 + "Landroid/accounts/AccountManagerCallback",
22241 + "Ljava/lang/Boolean;",
22243 + "Landroid/os/Handler;",
22245 + "Landroid/accounts/AccountManagerFuture",
22247 + "Ljava/lang/Boolean;",
22256 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
22258 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22260 + move-result-object v1
22262 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22266 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22268 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22270 + move-result-object v6
22272 + if-eqz v6, :cond_2e
22274 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
22278 + if-eqz v0, :cond_2e
22280 + const-string v8, "[false]"
22282 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
22284 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
22286 + move-result-object v0
22288 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
22290 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22294 + const-string v4, "accountsList"
22296 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22302 + const-string v8, "[real value]"
22304 + 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;
22306 + move-result-object v7
22308 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22310 + const-string v4, "accountsList"
22312 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22316 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali opd-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
22317 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
22318 +++ opd-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2013-01-20 23:05:45.911697429 -0600
22320 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
22321 +.super Ljava/lang/Object;
22322 +.source "PrivacyActivityManagerService.java"
22326 +.field private static final DATA_SMS_RECEIVED_INTENT:Ljava/lang/String; = "android.intent.action.DATA_SMS_RECEIVED"
22328 +.field private static final SMS_RECEIVED_ACTION_INTENT:Ljava/lang/String; = "android.provider.Telephony.SMS_RECEIVED"
22330 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
22332 +.field private static final WAP_PUSH_RECEIVED_INTENT:Ljava/lang/String; = "android.provider.Telephony.WAP_PUSH_RECEIVED"
22334 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
22336 +.field private static tmpIn:Landroid/content/Intent;
22338 +.field private static tmpInHash:J
22340 +.field private static tmpInReceivers:I
22342 +.field private static tmpMms:Landroid/content/Intent;
22344 +.field private static tmpMmsHash:J
22346 +.field private static tmpMmsReceivers:I
22348 +.field private static tmpOut:Landroid/content/Intent;
22350 +.field private static tmpOutHash:J
22352 +.field private static tmpOutReceivers:I
22354 +.field private static tmpPackageAddedHash:J
22356 +.field private static tmpSms:Landroid/content/Intent;
22358 +.field private static tmpSmsHash:J
22360 +.field private static tmpSmsReceivers:I
22364 +.method static constructor <clinit>()V
22369 + const-wide/16 v0, 0x0
22371 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22373 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22375 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22377 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22379 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22381 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22383 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
22385 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
22387 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
22392 +.method public constructor <init>()V
22395 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
22400 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
22403 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22405 + if-nez v2, :cond_13
22407 + if-eqz p3, :cond_13
22409 + const-string/jumbo v2, "privacy"
22411 + move-object/from16 v0, p3
22413 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
22415 + move-result-object v2
22417 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
22419 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22422 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22424 + if-nez v2, :cond_2c
22426 + if-nez p3, :cond_2c
22428 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
22432 + const-string/jumbo v4, "privacy"
22434 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
22436 + move-result-object v4
22438 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
22440 + move-result-object v4
22442 + invoke-direct {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
22444 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22447 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
22449 + move-result-object v16
22451 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
22453 + move-object/from16 v0, v16
22455 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22459 + if-eqz v2, :cond_cc
22461 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22463 + move-object/from16 v0, p0
22465 + move/from16 v1, p1
22467 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22469 + move-result-object v8
22471 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22473 + move-object/from16 v0, p2
22475 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22477 + move-result-object v23
22479 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22481 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22483 + move-result-wide v4
22485 + cmp-long v2, v2, v4
22487 + if-eqz v2, :cond_66
22489 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22491 + move-result-object v2
22493 + check-cast v2, Landroid/content/Intent;
22495 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22497 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22499 + move-result-wide v2
22501 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22503 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22506 + if-eqz v8, :cond_93
22509 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
22513 + if-eqz v2, :cond_93
22515 + const-string v23, ""
22517 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22519 + move-object/from16 v0, p2
22521 + move-object/from16 v1, v23
22523 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22525 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22529 + const-string/jumbo v6, "outgoingCall"
22533 + move-object/from16 v3, p0
22535 + move/from16 v4, p1
22537 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22539 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_87} :catch_bd
22543 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22547 + if-le v2, v3, :cond_c8
22549 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22551 + add-int/lit8 v2, v2, -0x1
22553 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
22561 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
22563 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22565 + move-result-wide v4
22567 + cmp-long v2, v2, v4
22569 + if-nez v2, :cond_87
22571 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22573 + const-string v3, "android.intent.extra.PHONE_NUMBER"
22575 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22577 + move-result-object v23
22579 + const-string v2, "android.intent.extra.PHONE_NUMBER"
22581 + move-object/from16 v0, p2
22583 + move-object/from16 v1, v23
22585 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22587 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22591 + const-string/jumbo v6, "outgoingCall"
22595 + move-object/from16 v3, p0
22597 + move/from16 v4, p1
22599 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22601 + .catch Ljava/lang/Exception; {:try_start_93 .. :try_end_bc} :catch_bd
22606 + move-exception v20
22608 + const-string v2, "PrivacyActivityManagerService"
22610 + const-string v3, "failed to enforce intent broadcast permission"
22612 + move-object/from16 v0, v20
22614 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22621 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
22626 + const-string v2, "android.intent.action.PHONE_STATE"
22628 + move-object/from16 v0, v16
22630 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22634 + if-eqz v2, :cond_170
22636 + const-string v2, "incoming_number"
22638 + move-object/from16 v0, p2
22640 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22642 + move-result-object v23
22644 + if-eqz v23, :cond_92
22646 + invoke-virtual/range {v23 .. v23}, Ljava/lang/String;->isEmpty()Z
22650 + if-nez v2, :cond_92
22652 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22654 + move-object/from16 v0, p0
22656 + move/from16 v1, p1
22658 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22660 + move-result-object v8
22662 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22664 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22666 + move-result-wide v4
22668 + cmp-long v2, v2, v4
22670 + if-eqz v2, :cond_10a
22672 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22674 + move-result-object v2
22676 + check-cast v2, Landroid/content/Intent;
22678 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22680 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22682 + move-result-wide v2
22684 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22686 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22689 + if-eqz v8, :cond_137
22692 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
22696 + if-eqz v2, :cond_137
22698 + const-string v23, ""
22700 + const-string v2, "incoming_number"
22702 + move-object/from16 v0, p2
22704 + move-object/from16 v1, v23
22706 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22708 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22712 + const-string v6, "incomingCall"
22716 + move-object/from16 v3, p0
22718 + move/from16 v4, p1
22720 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22722 + .catch Ljava/lang/Exception; {:try_start_10c .. :try_end_12a} :catch_160
22726 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22730 + if-le v2, v3, :cond_16b
22732 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22734 + add-int/lit8 v2, v2, -0x1
22736 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
22742 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
22744 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22746 + move-result-wide v4
22748 + cmp-long v2, v2, v4
22750 + if-nez v2, :cond_12a
22752 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22754 + const-string v3, "incoming_number"
22756 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
22758 + move-result-object v23
22760 + const-string v2, "incoming_number"
22762 + move-object/from16 v0, p2
22764 + move-object/from16 v1, v23
22766 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
22768 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22772 + const-string v6, "incomingCall"
22776 + move-object/from16 v3, p0
22778 + move/from16 v4, p1
22780 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22782 + .catch Ljava/lang/Exception; {:try_start_137 .. :try_end_15f} :catch_160
22787 + move-exception v20
22789 + const-string v2, "PrivacyActivityManagerService"
22791 + const-string v3, "failed to enforce intent broadcast permission"
22793 + move-object/from16 v0, v20
22795 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
22802 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
22807 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
22809 + move-object/from16 v0, v16
22811 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
22815 + if-eqz v2, :cond_253
22817 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22819 + move-object/from16 v0, p0
22821 + move/from16 v1, p1
22823 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22825 + move-result-object v8
22827 + const-string v23, "[real]"
22829 + const-string/jumbo v2, "pdus"
22831 + move-object/from16 v0, p2
22833 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
22835 + move-result-object v2
22837 + check-cast v2, [Ljava/lang/Object;
22839 + move-object/from16 v22, v2
22841 + check-cast v22, [Ljava/lang/Object;
22843 + if-eqz v22, :cond_1f8
22847 + aget-object v2, v22, v2
22849 + check-cast v2, [B
22851 + check-cast v2, [B
22853 + move-object/from16 v19, v2
22856 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22858 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22860 + move-result-wide v4
22862 + cmp-long v2, v2, v4
22864 + if-eqz v2, :cond_1ba
22866 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
22868 + move-result-object v2
22870 + check-cast v2, Landroid/content/Intent;
22872 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
22874 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22876 + move-result-wide v2
22878 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22880 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22883 + if-eqz v8, :cond_1fb
22886 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
22890 + if-eqz v2, :cond_1fb
22892 + const-string v23, "[empty]"
22896 + new-array v0, v2, [Ljava/lang/Object;
22898 + move-object/from16 v21, v0
22902 + const/16 v3, 0x10
22904 + new-array v3, v3, [B
22906 + fill-array-data v3, :array_3da
22908 + aput-object v3, v21, v2
22910 + const-string/jumbo v2, "pdus"
22912 + move-object/from16 v0, p2
22914 + move-object/from16 v1, v21
22916 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
22918 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22922 + const-string/jumbo v6, "sms"
22926 + move-object/from16 v3, p0
22928 + move/from16 v4, p1
22930 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22932 + .catch Ljava/lang/Exception; {:try_start_1bc .. :try_end_1eb} :catch_240
22936 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22940 + if-le v2, v3, :cond_24e
22942 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22944 + add-int/lit8 v2, v2, -0x1
22946 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
22951 + const/16 v19, 0x0
22957 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
22959 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
22961 + move-result-wide v4
22963 + cmp-long v2, v2, v4
22965 + if-nez v2, :cond_1eb
22967 + const-string/jumbo v2, "pdus"
22969 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
22971 + const-string/jumbo v4, "pdus"
22973 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
22975 + move-result-object v3
22977 + move-object/from16 v0, p2
22979 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
22981 + const-string/jumbo v2, "pdus"
22983 + move-object/from16 v0, p2
22985 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
22987 + move-result-object v2
22989 + check-cast v2, [Ljava/lang/Object;
22991 + move-object v0, v2
22993 + check-cast v0, [Ljava/lang/Object;
22995 + move-object/from16 v22, v0
22997 + if-eqz v22, :cond_24b
23001 + aget-object v2, v22, v2
23003 + check-cast v2, [B
23005 + check-cast v2, [B
23007 + move-object/from16 v19, v2
23010 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23014 + const-string/jumbo v6, "sms"
23018 + move-object/from16 v3, p0
23020 + move/from16 v4, p1
23022 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23024 + .catch Ljava/lang/Exception; {:try_start_1fb .. :try_end_23f} :catch_240
23029 + move-exception v20
23031 + const-string v2, "PrivacyActivityManagerService"
23033 + const-string v3, "failed to enforce intent broadcast permission"
23035 + move-object/from16 v0, v20
23037 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23042 + const/16 v19, 0x0
23049 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
23054 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
23056 + move-object/from16 v0, v16
23058 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23062 + if-nez v2, :cond_267
23064 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
23066 + move-object/from16 v0, v16
23068 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23072 + if-eqz v2, :cond_340
23075 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23077 + move-object/from16 v0, p0
23079 + move/from16 v1, p1
23081 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23083 + move-result-object v8
23085 + const-string v23, "[real]"
23087 + const-string/jumbo v2, "pdus"
23089 + move-object/from16 v0, p2
23091 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23093 + move-result-object v2
23095 + check-cast v2, [Ljava/lang/Object;
23097 + move-object/from16 v22, v2
23099 + check-cast v22, [Ljava/lang/Object;
23101 + if-eqz v22, :cond_2e5
23105 + aget-object v2, v22, v2
23107 + check-cast v2, [B
23109 + check-cast v2, [B
23111 + move-object/from16 v19, v2
23114 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23116 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23118 + move-result-wide v4
23120 + cmp-long v2, v2, v4
23122 + if-eqz v2, :cond_2a7
23124 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
23126 + move-result-object v2
23128 + check-cast v2, Landroid/content/Intent;
23130 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23132 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23134 + move-result-wide v2
23136 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23138 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23141 + if-eqz v8, :cond_2e8
23144 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
23148 + if-eqz v2, :cond_2e8
23150 + const-string v23, "[empty]"
23154 + new-array v0, v2, [Ljava/lang/Object;
23156 + move-object/from16 v21, v0
23160 + const/16 v3, 0x10
23162 + new-array v3, v3, [B
23164 + fill-array-data v3, :array_3e6
23166 + aput-object v3, v21, v2
23168 + const-string/jumbo v2, "pdus"
23170 + move-object/from16 v0, p2
23172 + move-object/from16 v1, v21
23174 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23176 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23180 + const-string/jumbo v6, "mms"
23184 + move-object/from16 v3, p0
23186 + move/from16 v4, p1
23188 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23190 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2d8} :catch_32d
23194 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23198 + if-le v2, v3, :cond_33b
23200 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23202 + add-int/lit8 v2, v2, -0x1
23204 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
23209 + const/16 v19, 0x0
23215 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
23217 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23219 + move-result-wide v4
23221 + cmp-long v2, v2, v4
23223 + if-nez v2, :cond_2d8
23225 + const-string/jumbo v2, "pdus"
23227 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23229 + const-string/jumbo v4, "pdus"
23231 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23233 + move-result-object v3
23235 + move-object/from16 v0, p2
23237 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
23239 + const-string/jumbo v2, "pdus"
23241 + move-object/from16 v0, p2
23243 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
23245 + move-result-object v2
23247 + check-cast v2, [Ljava/lang/Object;
23249 + move-object v0, v2
23251 + check-cast v0, [Ljava/lang/Object;
23253 + move-object/from16 v22, v0
23255 + if-eqz v22, :cond_338
23259 + aget-object v2, v22, v2
23261 + check-cast v2, [B
23263 + check-cast v2, [B
23265 + move-object/from16 v19, v2
23268 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23272 + const-string/jumbo v6, "mms"
23276 + move-object/from16 v3, p0
23278 + move/from16 v4, p1
23280 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23282 + .catch Ljava/lang/Exception; {:try_start_2e8 .. :try_end_32c} :catch_32d
23287 + move-exception v20
23289 + const-string v2, "PrivacyActivityManagerService"
23291 + const-string v3, "failed to enforce intent broadcast permission"
23293 + move-object/from16 v0, v20
23295 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
23300 + const/16 v19, 0x0
23307 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
23312 + const-string v2, "android.intent.action.BOOT_COMPLETED"
23314 + move-object/from16 v0, v16
23316 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23320 + if-eqz v2, :cond_38d
23322 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23324 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
23326 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23328 + move-object/from16 v0, p0
23330 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
23332 + move-result-object v8
23334 + if-eqz v8, :cond_376
23336 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
23340 + if-eqz v2, :cond_376
23342 + const-string v2, "catchBootComplete"
23344 + move-object/from16 v0, p2
23346 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
23348 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23352 + const-string v13, "intentBootCompleted"
23358 + move-object/from16 v10, p0
23360 + move/from16 v11, p1
23362 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23367 + const-string v2, "android.intent.action.BOOT_COMPLETED"
23369 + move-object/from16 v0, p2
23371 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
23373 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23377 + const-string v13, "intentBootCompleted"
23383 + move-object/from16 v10, p0
23385 + move/from16 v11, p1
23387 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23392 + const-string v2, "android.intent.action.PACKAGE_ADDED"
23394 + move-object/from16 v0, v16
23396 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
23400 + if-eqz v2, :cond_92
23402 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23404 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23406 + move-result-wide v4
23408 + cmp-long v2, v2, v4
23410 + if-eqz v2, :cond_92
23412 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
23414 + move-result-wide v2
23416 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
23418 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
23420 + move-result-object v2
23422 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
23424 + move-result-object v17
23426 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
23428 + move-result-object v2
23430 + const-string v3, "android.intent.extra.UID"
23432 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
23436 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23438 + move-object/from16 v0, v17
23440 + move/from16 v1, v18
23442 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23444 + move-result-object v8
23446 + if-eqz v8, :cond_92
23448 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
23452 + move/from16 v0, v18
23454 + if-eq v2, v0, :cond_92
23456 + move/from16 v0, v18
23458 + invoke-virtual {v8, v0}, Landroid/privacy/PrivacySettings;->setUid(I)V
23460 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23462 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
23509 +.method private static hashCode(Landroid/content/Intent;)J
23512 + const-wide/16 v3, 0x0
23514 + const-string/jumbo v2, "privacy_hash"
23516 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
23518 + move-result-wide v0
23520 + cmp-long v2, v0, v3
23522 + if-nez v2, :cond_1e
23524 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
23528 + int-to-long v2, v2
23530 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
23532 + move-result-wide v4
23534 + add-long v0, v2, v4
23536 + const-string/jumbo v2, "privacy_hash"
23538 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
23543 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali
23544 --- stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 1969-12-31 18:00:00.000000000 -0600
23545 +++ opd-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 2013-01-20 23:05:45.911697429 -0600
23547 +.class public Landroid/privacy/surrogate/PrivacyConnectivityManager;
23548 +.super Landroid/net/ConnectivityManager;
23549 +.source "PrivacyConnectivityManager.java"
23553 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyConnectivityManager"
23557 +.field private context:Landroid/content/Context;
23559 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
23563 +.method public constructor <init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
23566 + invoke-direct {p0, p1}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
23568 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23570 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
23572 + const-string/jumbo v1, "privacy"
23574 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
23576 + move-result-object v1
23578 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
23580 + move-result-object v1
23582 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
23584 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23586 + const-string v0, "PrivacyConnectivityManager"
23588 + new-instance v1, Ljava/lang/StringBuilder;
23590 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
23592 + const-string/jumbo v2, "now in constructor for package: "
23594 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23596 + move-result-object v1
23598 + invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23600 + move-result-object v2
23602 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23604 + move-result-object v1
23606 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23608 + move-result-object v1
23610 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23617 +.method public getActiveLinkProperties()Landroid/net/LinkProperties;
23624 + new-instance v7, Landroid/net/LinkProperties;
23626 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
23628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23630 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23632 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23634 + move-result-object v1
23636 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23640 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23642 + move-result-object v8
23644 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23646 + if-eqz v0, :cond_34
23648 + if-eqz v8, :cond_34
23650 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23654 + if-eqz v0, :cond_34
23656 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23658 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23660 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23662 + move-result-object v1
23666 + const-string/jumbo v4, "networkInfoCurrent"
23668 + move-object v6, v5
23670 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23676 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23678 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23680 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23682 + move-result-object v1
23686 + const-string/jumbo v4, "networkInfoCurrent"
23688 + move-object v6, v5
23690 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23692 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
23694 + move-result-object v7
23699 +.method public getActiveNetworkInfo()Landroid/net/NetworkInfo;
23710 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23712 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23714 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23716 + move-result-object v1
23718 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23722 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23724 + move-result-object v8
23726 + new-instance v7, Landroid/net/NetworkInfo;
23728 + const-string v0, "MOBILE"
23730 + const-string v1, "UNKNOWN"
23732 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
23734 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23736 + if-eqz v0, :cond_31
23738 + if-eqz v8, :cond_31
23740 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
23744 + if-nez v0, :cond_31
23746 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
23748 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
23750 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
23753 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23755 + if-eqz v0, :cond_4d
23757 + if-eqz v8, :cond_4d
23759 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23763 + if-eqz v0, :cond_4d
23765 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23767 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23769 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23771 + move-result-object v1
23773 + const-string/jumbo v4, "networkInfoCurrent"
23775 + move-object v6, v5
23777 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23783 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23785 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23787 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23789 + move-result-object v1
23791 + const-string/jumbo v4, "networkInfoCurrent"
23795 + move-object v6, v5
23797 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23799 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
23801 + move-result-object v7
23806 +.method public getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
23817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23819 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23821 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23823 + move-result-object v1
23825 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23829 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23831 + move-result-object v8
23833 + new-instance v7, Landroid/net/NetworkInfo;
23835 + const-string v0, "MOBILE"
23837 + const-string v1, "UNKNOWN"
23839 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
23841 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23843 + if-eqz v0, :cond_31
23845 + if-eqz v8, :cond_31
23847 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
23851 + if-nez v0, :cond_31
23853 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
23855 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
23857 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
23860 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23862 + if-eqz v0, :cond_4d
23864 + if-eqz v8, :cond_4d
23866 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23870 + if-eqz v0, :cond_4d
23872 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23874 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23876 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23878 + move-result-object v1
23880 + const-string/jumbo v4, "networkInfoCurrent"
23882 + move-object v6, v5
23884 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23890 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23892 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23894 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23896 + move-result-object v1
23898 + const-string/jumbo v4, "networkInfoCurrent"
23902 + move-object v6, v5
23904 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23906 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
23908 + move-result-object v7
23913 +.method public getAllNetworkInfo()[Landroid/net/NetworkInfo;
23924 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23926 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23928 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23930 + move-result-object v1
23932 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23936 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23938 + move-result-object v8
23940 + new-array v7, v3, [Landroid/net/NetworkInfo;
23942 + new-instance v0, Landroid/net/NetworkInfo;
23944 + const-string v1, "MOBILE"
23946 + const-string v4, "CONNECTED"
23948 + invoke-direct {v0, v6, v6, v1, v4}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
23950 + aput-object v0, v7, v6
23952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23954 + if-eqz v0, :cond_39
23956 + if-eqz v8, :cond_39
23958 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
23962 + if-nez v0, :cond_39
23964 + aget-object v0, v7, v6
23966 + invoke-virtual {v0, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
23968 + aget-object v0, v7, v6
23970 + sget-object v1, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
23972 + invoke-virtual {v0, v1}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
23975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23977 + if-eqz v0, :cond_55
23979 + if-eqz v8, :cond_55
23981 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23985 + if-eqz v0, :cond_55
23987 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23989 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
23991 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23993 + move-result-object v1
23995 + const-string/jumbo v4, "networkInfoCurrent"
23997 + move-object v6, v5
23999 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24005 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24007 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24009 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24011 + move-result-object v1
24013 + const-string/jumbo v4, "networkInfoCurrent"
24017 + move-object v6, v5
24019 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24021 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
24023 + move-result-object v7
24028 +.method public getLinkProperties(I)Landroid/net/LinkProperties;
24035 + new-instance v7, Landroid/net/LinkProperties;
24037 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
24039 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24041 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24043 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24045 + move-result-object v1
24047 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24051 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24053 + move-result-object v8
24055 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24057 + if-eqz v0, :cond_34
24059 + if-eqz v8, :cond_34
24061 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24065 + if-eqz v0, :cond_34
24067 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24069 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24071 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24073 + move-result-object v1
24077 + const-string/jumbo v4, "networkInfoCurrent"
24079 + move-object v6, v5
24081 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24087 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24089 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24091 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24093 + move-result-object v1
24097 + const-string/jumbo v4, "networkInfoCurrent"
24099 + move-object v6, v5
24101 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24103 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties;
24105 + move-result-object v7
24110 +.method public getMobileDataEnabled()Z
24119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24121 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24123 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24125 + move-result-object v1
24127 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24131 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24133 + move-result-object v7
24135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24137 + if-eqz v0, :cond_2f
24139 + if-eqz v7, :cond_2f
24141 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24145 + if-nez v0, :cond_2f
24147 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24149 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24151 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24153 + move-result-object v1
24155 + const-string/jumbo v4, "networkInfoCurrent"
24157 + move-object v6, v5
24159 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24165 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24167 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24169 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24171 + move-result-object v1
24175 + const-string/jumbo v4, "networkInfoCurrent"
24177 + move-object v6, v5
24179 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24181 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z
24188 +.method public getNetworkInfo(I)Landroid/net/NetworkInfo;
24199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24201 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24203 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24205 + move-result-object v1
24207 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24211 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24213 + move-result-object v8
24215 + new-instance v7, Landroid/net/NetworkInfo;
24217 + const-string v0, "MOBILE"
24219 + const-string v1, "CONNECTED"
24221 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
24223 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24225 + if-eqz v0, :cond_31
24227 + if-eqz v8, :cond_31
24229 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24233 + if-nez v0, :cond_31
24235 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
24237 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
24239 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
24242 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24244 + if-eqz v0, :cond_4d
24246 + if-eqz v8, :cond_4d
24248 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24252 + if-eqz v0, :cond_4d
24254 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24256 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24258 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24260 + move-result-object v1
24262 + const-string/jumbo v4, "networkInfoCurrent"
24264 + move-object v6, v5
24266 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24272 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24274 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24276 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24278 + move-result-object v1
24280 + const-string/jumbo v4, "networkInfoCurrent"
24284 + move-object v6, v5
24286 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24288 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
24290 + move-result-object v7
24295 +.method public requestRouteToHost(II)Z
24306 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24308 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24310 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24312 + move-result-object v1
24314 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24318 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24320 + move-result-object v7
24322 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24324 + if-eqz v0, :cond_30
24326 + if-eqz v7, :cond_30
24328 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24332 + if-nez v0, :cond_30
24334 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24336 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24338 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24340 + move-result-object v1
24342 + const-string/jumbo v4, "networkInfoCurrent"
24344 + move-object v6, v5
24346 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24352 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24354 + if-eqz v0, :cond_4d
24356 + if-eqz v7, :cond_4d
24358 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24362 + if-eqz v0, :cond_4d
24364 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24366 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24368 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24370 + move-result-object v1
24372 + const-string/jumbo v4, "networkInfoCurrent"
24374 + move-object v6, v5
24376 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24383 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24385 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24387 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24389 + move-result-object v1
24391 + const-string/jumbo v4, "networkInfoCurrent"
24395 + move-object v6, v5
24397 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24399 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHost(II)Z
24406 +.method public requestRouteToHostAddress(ILjava/net/InetAddress;)Z
24417 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24419 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24421 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24423 + move-result-object v1
24425 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24429 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24431 + move-result-object v7
24433 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24435 + if-eqz v0, :cond_30
24437 + if-eqz v7, :cond_30
24439 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
24443 + if-nez v0, :cond_30
24445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24447 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24449 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24451 + move-result-object v1
24453 + const-string/jumbo v4, "networkInfoCurrent"
24455 + move-object v6, v5
24457 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24463 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24465 + if-eqz v0, :cond_4d
24467 + if-eqz v7, :cond_4d
24469 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24473 + if-eqz v0, :cond_4d
24475 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24477 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24479 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24481 + move-result-object v1
24483 + const-string/jumbo v4, "networkInfoCurrent"
24485 + move-object v6, v5
24487 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24494 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24496 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24498 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24500 + move-result-object v1
24502 + const-string/jumbo v4, "networkInfoCurrent"
24506 + move-object v6, v5
24508 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24510 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
24517 +.method public setMobileDataEnabled(Z)V
24524 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24526 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24528 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24530 + move-result-object v1
24532 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24536 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24538 + move-result-object v7
24540 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24542 + if-eqz v0, :cond_2f
24544 + if-eqz v7, :cond_2f
24546 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
24550 + if-eqz v0, :cond_2f
24552 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24554 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24556 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24558 + move-result-object v1
24562 + const-string/jumbo v4, "switchconnectivity"
24564 + move-object v6, v5
24566 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24572 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24574 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
24576 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24578 + move-result-object v1
24582 + const-string/jumbo v4, "switchconnectivity"
24584 + move-object v6, v5
24586 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24588 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V
24592 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali opd-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
24593 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
24594 +++ opd-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2013-01-20 23:05:45.911697429 -0600
24596 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
24597 +.super Ljava/lang/Object;
24598 +.source "PrivacyContentResolver.java"
24602 +.field private static final MMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms"
24604 +.field private static final MMS_SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "mms-sms"
24606 +.field private static final SMS_CONTENT_URI_AUTHORITY:Ljava/lang/String; = "sms"
24608 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
24610 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
24614 +.method public constructor <init>()V
24617 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
24622 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
24625 + new-instance v4, Ljava/lang/StringBuffer;
24627 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
24629 + if-eqz p0, :cond_2d
24631 + move-object v0, p0
24633 + array-length v3, v0
24638 + if-ge v2, v3, :cond_30
24640 + aget-object v1, v0, v2
24642 + new-instance v5, Ljava/lang/StringBuilder;
24644 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
24646 + const-string v6, "["
24648 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24650 + move-result-object v5
24652 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24654 + move-result-object v5
24656 + const-string v6, "]"
24658 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24660 + move-result-object v5
24662 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24664 + move-result-object v5
24666 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
24668 + add-int/lit8 v2, v2, 0x1
24673 + const-string v5, ""
24679 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
24681 + move-result-object v5
24686 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
24688 + .annotation system Ldalvik/annotation/Throws;
24690 + Landroid/os/RemoteException;
24694 + if-eqz p0, :cond_1db
24696 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24698 + if-nez v1, :cond_13
24700 + const-string/jumbo v1, "privacy"
24702 + move-object/from16 v0, p2
24704 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
24706 + move-result-object v1
24708 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
24710 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24713 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24715 + move-result-object v2
24717 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24721 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24723 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24725 + move-result-object v7
24727 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
24729 + move-result-object v9
24731 + const-string v15, "[real]"
24733 + move-object/from16 v13, p3
24735 + if-eqz v9, :cond_54
24737 + const-string v1, "contacts"
24739 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24743 + if-nez v1, :cond_3b
24745 + const-string v1, "com.android.contacts"
24747 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24751 + if-eqz v1, :cond_ab
24754 + if-eqz v7, :cond_54
24756 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
24762 + if-ne v1, v4, :cond_55
24764 + const-string v15, "[empty]"
24766 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24768 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24770 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24774 + const-string v5, "contacts"
24778 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24782 + return-object v13
24785 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
24791 + if-ne v1, v4, :cond_a1
24793 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
24795 + move-result-object v1
24797 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
24799 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
24801 + move-result-object v4
24803 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
24807 + if-eqz v1, :cond_a1
24811 + if-eqz p1, :cond_82
24813 + move-object/from16 v8, p1
24815 + array-length v12, v8
24820 + if-ge v10, v12, :cond_82
24822 + aget-object v16, v8, v10
24824 + const-string v1, "_id"
24826 + move-object/from16 v0, v16
24828 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24832 + if-eqz v1, :cond_93
24837 + if-nez v11, :cond_96
24839 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24841 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24844 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24848 + const-string v5, "contacts"
24852 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24857 + add-int/lit8 v10, v10, 0x1
24862 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
24864 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
24866 + move-result-object v1
24868 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
24870 + move-object v13, v14
24875 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24879 + const-string v5, "contacts"
24883 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24888 + const-string v1, "com.android.calendar"
24890 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24894 + if-eqz v1, :cond_d8
24896 + if-eqz v7, :cond_cd
24898 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
24904 + if-ne v1, v4, :cond_cd
24906 + const-string v15, "[empty]"
24908 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24910 + 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, "calendar"
24920 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24925 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24929 + const-string v5, "calendar"
24933 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24938 + const-string/jumbo v1, "mms"
24940 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24944 + if-eqz v1, :cond_109
24946 + if-eqz v7, :cond_fd
24948 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
24954 + if-ne v1, v4, :cond_fd
24956 + const-string v15, "[empty]"
24958 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
24960 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
24962 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24966 + const-string/jumbo v5, "mms"
24970 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24975 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24979 + const-string/jumbo v5, "mms"
24983 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24988 + const-string/jumbo v1, "sms"
24990 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
24994 + if-eqz v1, :cond_13a
24996 + if-eqz v7, :cond_12e
24998 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25004 + if-ne v1, v4, :cond_12e
25006 + const-string v15, "[empty]"
25008 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25010 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25012 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25016 + const-string/jumbo v5, "sms"
25020 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25025 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25029 + const-string/jumbo v5, "sms"
25033 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25038 + const-string/jumbo v1, "mms-sms"
25040 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25044 + if-nez v1, :cond_14c
25046 + const-string/jumbo v1, "mms-sms-v2"
25048 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25052 + if-eqz v1, :cond_17b
25055 + if-eqz v7, :cond_16f
25057 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
25063 + if-eq v1, v4, :cond_15c
25065 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
25071 + if-ne v1, v4, :cond_16f
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, "mmsSms"
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, "mmsSms"
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 v1, "call_log"
25108 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25112 + if-eqz v1, :cond_1a9
25114 + if-eqz v7, :cond_19e
25116 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
25122 + if-ne v1, v4, :cond_19e
25124 + const-string v15, "[empty]"
25126 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25128 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25130 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25134 + const-string v5, "callLog"
25138 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25143 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25147 + const-string v5, "callLog"
25151 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25156 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
25158 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25160 + move-result-object v1
25162 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25166 + if-eqz v1, :cond_54
25168 + if-eqz v7, :cond_1d0
25170 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
25176 + if-ne v1, v4, :cond_1d0
25178 + const-string v15, "[empty]"
25180 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25182 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
25184 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25188 + const-string v5, "bookmarks"
25192 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25197 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25201 + const-string v5, "bookmarks"
25205 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25210 + move-object/from16 v13, p3
25215 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;Z)Landroid/database/Cursor;
25217 + .annotation system Ldalvik/annotation/Throws;
25219 + Landroid/os/RemoteException;
25223 + if-eqz p0, :cond_dd
25225 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25227 + if-nez v1, :cond_13
25229 + const-string/jumbo v1, "privacy"
25231 + move-object/from16 v0, p2
25233 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
25235 + move-result-object v1
25237 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
25239 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25242 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25244 + move-result-object v2
25246 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25250 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25252 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25254 + move-result-object v7
25256 + invoke-virtual {p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
25258 + move-result-object v9
25260 + const-string v14, "[real]"
25262 + move-object/from16 v13, p3
25264 + if-eqz v9, :cond_6d
25266 + const-string v1, "com.google.android.gsf.gservices"
25268 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25272 + if-eqz v1, :cond_6d
25274 + if-eqz v7, :cond_cb
25276 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
25280 + if-eqz v1, :cond_cb
25282 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
25286 + const/4 v11, -0x1
25292 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getCount()I
25296 + if-ge v12, v1, :cond_5d
25298 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->moveToNext()Z
25302 + move-object/from16 v0, p3
25304 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
25306 + move-result-object v1
25308 + const-string v4, "android_id"
25310 + invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
25314 + if-eqz v1, :cond_6e
25316 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
25318 + .catchall {:try_start_41 .. :try_end_5c} :catchall_8b
25319 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_5c} :catch_71
25324 + move-object/from16 v0, p3
25326 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25330 + if-ne v11, v1, :cond_9e
25332 + const-string v1, "PrivacyContentResolver"
25334 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25336 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25340 + return-object v13
25343 + add-int/lit8 v12, v12, 0x1
25348 + move-exception v10
25351 + const-string v1, "PrivacyContentResolver"
25353 + const-string/jumbo v4, "something went wrong while getting blocked permission for android id"
25355 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
25357 + .catchall {:try_start_72 .. :try_end_7a} :catchall_8b
25359 + move-object/from16 v0, p3
25361 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25365 + if-ne v11, v1, :cond_9e
25367 + const-string v1, "PrivacyContentResolver"
25369 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25371 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25376 + move-exception v1
25378 + move-object/from16 v0, p3
25380 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
25384 + if-ne v11, v4, :cond_9d
25386 + const-string v1, "PrivacyContentResolver"
25388 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
25390 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25398 + const-string v1, "PrivacyContentResolver"
25400 + new-instance v4, Ljava/lang/StringBuilder;
25402 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
25404 + const-string/jumbo v5, "now blocking google access to android id and give fake cursor. forbidden_position: "
25406 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25408 + move-result-object v4
25410 + invoke-virtual {v4, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25412 + move-result-object v4
25414 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25416 + move-result-object v4
25418 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25420 + const-string v14, "[fake]"
25422 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
25424 + move-object/from16 v0, p3
25426 + invoke-direct {v13, v0, v11}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;I)V
25428 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25432 + const-string/jumbo v5, "networkInfoSIM"
25436 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25441 + const-string v1, "PrivacyContentResolver"
25443 + const-string v4, "google is allowed to get real cursor"
25445 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25447 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25451 + const-string/jumbo v5, "networkInfoSIM"
25455 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25460 + move-object/from16 v13, p3
25464 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali opd-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
25465 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
25466 +++ opd-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2013-01-20 23:05:45.911697429 -0600
25468 +.class public Landroid/privacy/surrogate/PrivacyCursor;
25469 +.super Ljava/lang/Object;
25470 +.source "PrivacyCursor.java"
25473 +.implements Landroid/database/Cursor;
25477 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
25479 +.field private static final mask:[Ljava/lang/String;
25483 +.field private allowedIdMapping:[I
25485 +.field private allowedIds:[I
25487 +.field private blockedColumnAndroidID:I
25489 +.field private googleCursor:Z
25491 +.field private realCursor:Landroid/database/Cursor;
25495 +.method static constructor <clinit>()V
25498 + const/16 v0, 0x10
25500 + new-array v0, v0, [Ljava/lang/String;
25504 + const-string v2, "0"
25506 + aput-object v2, v0, v1
25510 + const-string v2, "1"
25512 + aput-object v2, v0, v1
25516 + const-string v2, "2"
25518 + aput-object v2, v0, v1
25522 + const-string v2, "3"
25524 + aput-object v2, v0, v1
25528 + const-string v2, "4"
25530 + aput-object v2, v0, v1
25534 + const-string v2, "5"
25536 + aput-object v2, v0, v1
25540 + const-string v2, "6"
25542 + aput-object v2, v0, v1
25546 + const-string v2, "7"
25548 + aput-object v2, v0, v1
25552 + const-string v2, "8"
25554 + aput-object v2, v0, v1
25558 + const-string v2, "9"
25560 + aput-object v2, v0, v1
25564 + const-string v2, "a"
25566 + aput-object v2, v0, v1
25570 + const-string v2, "b"
25572 + aput-object v2, v0, v1
25576 + const-string v2, "c"
25578 + aput-object v2, v0, v1
25582 + const-string v2, "d"
25584 + aput-object v2, v0, v1
25588 + const-string v2, "e"
25590 + aput-object v2, v0, v1
25594 + const-string v2, "f"
25596 + aput-object v2, v0, v1
25598 + sput-object v0, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
25603 +.method public constructor <init>()V
25606 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25611 +.method public constructor <init>(Landroid/database/Cursor;I)V
25614 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25616 + const/16 v0, -0xb
25618 + if-ne p2, v0, :cond_28
25622 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25625 + iput p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
25629 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
25631 + const-string v0, "PrivacyCursor"
25633 + new-instance v1, Ljava/lang/StringBuilder;
25635 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25637 + const-string v2, "constructor is ready for google cursor! forbidden_position: "
25639 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25641 + move-result-object v1
25643 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
25645 + move-result-object v1
25647 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25649 + move-result-object v1
25651 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25656 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25661 +.method public constructor <init>(Landroid/database/Cursor;[I)V
25664 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
25666 + if-eqz p2, :cond_8
25668 + array-length v2, p2
25670 + if-nez v2, :cond_9
25676 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25678 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
25680 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25682 + if-eqz v2, :cond_3f
25684 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25686 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
25690 + array-length v2, p2
25692 + new-array v2, v2, [I
25694 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25700 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25702 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
25706 + if-eqz v2, :cond_3a
25708 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25710 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
25714 + if-eqz v2, :cond_1d
25716 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25718 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25720 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
25726 + add-int/lit8 v1, v1, 0x1
25731 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25733 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
25739 +.method private getContactId(Landroid/database/Cursor;)I
25742 + const-string v2, "_id"
25744 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
25752 + if-eq v0, v2, :cond_e
25754 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
25762 +.method private getFakeID()Ljava/lang/String;
25766 + new-instance v3, Ljava/util/Random;
25768 + invoke-direct {v3}, Ljava/util/Random;-><init>()V
25770 + const-string v2, ""
25775 + const/16 v4, 0x10
25777 + if-ge v1, v4, :cond_34
25779 + new-instance v4, Ljava/lang/StringBuilder;
25781 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
25783 + invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25785 + move-result-object v4
25787 + sget-object v5, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
25791 + invoke-virtual {v3, v6}, Ljava/util/Random;->nextInt(I)I
25795 + aget-object v5, v5, v6
25797 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25799 + move-result-object v4
25801 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25803 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_26} :catch_2a
25805 + move-result-object v2
25807 + add-int/lit8 v1, v1, 0x1
25812 + move-exception v0
25814 + const-string v4, "PrivacyCursor"
25816 + const-string/jumbo v5, "something went wrong with creating fake ID"
25818 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
25826 +.method private getMappedPos(I)I
25832 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25834 + array-length v1, v1
25836 + if-ge v0, v1, :cond_10
25838 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
25842 + if-ne v1, p1, :cond_d
25848 + add-int/lit8 v0, v0, 0x1
25858 +.method private isAllowed(I)Z
25863 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
25865 + array-length v3, v0
25870 + if-ge v2, v3, :cond_c
25874 + if-ne p1, v1, :cond_d
25882 + add-int/lit8 v2, v2, 0x1
25887 +.method private isAllowed(Landroid/database/Cursor;)Z
25890 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
25894 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
25903 +.method public close()V
25906 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25908 + if-eqz v0, :cond_9
25910 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25912 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
25918 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
25921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25923 + if-eqz v0, :cond_9
25925 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25927 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
25933 +.method public deactivate()V
25936 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25938 + if-eqz v0, :cond_9
25940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25942 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
25948 +.method public getBlob(I)[B
25951 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25953 + if-eqz v0, :cond_b
25955 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25957 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
25959 + move-result-object v0
25967 + new-array v0, v0, [B
25972 +.method public getColumnCount()I
25975 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25977 + if-eqz v0, :cond_b
25979 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25981 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
25994 +.method public getColumnIndex(Ljava/lang/String;)I
25997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
25999 + if-eqz v0, :cond_b
26001 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26003 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
26016 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
26018 + .annotation system Ldalvik/annotation/Throws;
26020 + Ljava/lang/IllegalArgumentException;
26024 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26026 + if-eqz v0, :cond_b
26028 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26030 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
26043 +.method public getColumnName(I)Ljava/lang/String;
26046 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26048 + if-eqz v0, :cond_b
26050 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26052 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
26054 + move-result-object v0
26060 + const-string v0, ""
26065 +.method public getColumnNames()[Ljava/lang/String;
26068 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26070 + if-eqz v0, :cond_b
26072 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26074 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
26076 + move-result-object v0
26084 + new-array v0, v0, [Ljava/lang/String;
26088 + const-string v2, ""
26090 + aput-object v2, v0, v1
26095 +.method public getCount()I
26098 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26100 + if-eqz v0, :cond_2b
26102 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26104 + if-eqz v0, :cond_2b
26106 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26108 + if-nez v0, :cond_2b
26110 + const-string v0, "PrivacyCursor"
26112 + new-instance v1, Ljava/lang/StringBuilder;
26114 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
26116 + const-string v2, "getCount: "
26118 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26120 + move-result-object v1
26122 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26124 + array-length v2, v2
26126 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26128 + move-result-object v1
26130 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26132 + move-result-object v1
26134 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26136 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26138 + array-length v0, v0
26144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26146 + if-eqz v0, :cond_36
26148 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26150 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
26162 +.method public getDouble(I)D
26165 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26167 + if-eqz v0, :cond_b
26169 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26171 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
26173 + move-result-wide v0
26179 + const-wide/16 v0, 0x0
26184 +.method public getExtras()Landroid/os/Bundle;
26187 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26189 + if-eqz v0, :cond_b
26191 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26193 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
26195 + move-result-object v0
26201 + new-instance v0, Landroid/os/Bundle;
26203 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
26208 +.method public getFloat(I)F
26211 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26213 + if-eqz v0, :cond_b
26215 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26217 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
26230 +.method public getInt(I)I
26233 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26235 + if-eqz v1, :cond_b
26237 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26239 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
26252 +.method public getLong(I)J
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, p1}, Landroid/database/Cursor;->getLong(I)J
26263 + move-result-wide v0
26269 + const-wide/16 v0, 0x0
26274 +.method public getPosition()I
26277 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26279 + if-eqz v1, :cond_3f
26281 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26283 + if-eqz v1, :cond_3f
26285 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26287 + if-nez v1, :cond_3f
26289 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26291 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26295 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
26299 + const-string v1, "PrivacyCursor"
26301 + new-instance v2, Ljava/lang/StringBuilder;
26303 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
26305 + const-string v3, "getPosition - mapped position: "
26307 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26309 + move-result-object v2
26311 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26313 + move-result-object v2
26315 + const-string v3, " real position: "
26317 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26319 + move-result-object v2
26321 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26323 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
26327 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26329 + move-result-object v2
26331 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26333 + move-result-object v2
26335 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26341 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26343 + if-eqz v1, :cond_4a
26345 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26347 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26359 +.method public getShort(I)S
26362 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26364 + if-eqz v0, :cond_b
26366 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26368 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
26381 +.method public getString(I)Ljava/lang/String;
26384 + iget-boolean v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26386 + if-eqz v4, :cond_63
26390 + if-ne p1, v4, :cond_63
26392 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26394 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
26398 + iget v5, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
26400 + if-ne v4, v5, :cond_63
26402 + const-string v4, "PrivacyCursor"
26404 + const-string v5, "google tries to get android_id with getString()"
26406 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26408 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyCursor;->getFakeID()Ljava/lang/String;
26410 + move-result-object v2
26412 + if-eqz v2, :cond_58
26415 + new-instance v3, Ljava/math/BigInteger;
26417 + const/16 v4, 0x10
26419 + invoke-direct {v3, v2, v4}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
26421 + invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
26423 + move-result-object v1
26425 + const-string v4, "PrivacyCursor"
26427 + new-instance v5, Ljava/lang/StringBuilder;
26429 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
26431 + const-string/jumbo v6, "returned : "
26433 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26435 + move-result-object v5
26437 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26439 + move-result-object v5
26441 + const-string v6, "(String) as fake android id"
26443 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26445 + move-result-object v5
26447 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26449 + move-result-object v5
26451 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26453 + .catch Ljava/lang/Exception; {:try_start_1e .. :try_end_48} :catch_49
26459 + move-exception v0
26461 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
26463 + const-string v4, "PrivacyCursor"
26465 + const-string/jumbo v5, "returned \"\" as android_id"
26467 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26469 + const-string v1, ""
26474 + const-string v4, "PrivacyCursor"
26476 + const-string/jumbo v5, "returned \"\" as android_id"
26478 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26480 + const-string v1, ""
26485 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26487 + if-eqz v4, :cond_6e
26489 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26491 + invoke-interface {v4, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
26493 + move-result-object v1
26498 + const-string v1, ""
26503 +.method public getType(I)I
26506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26508 + if-eqz v0, :cond_b
26510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26512 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
26520 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26527 +.method public getWantsAllOnMoveCalls()Z
26530 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26532 + if-eqz v0, :cond_b
26534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26536 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
26549 +.method public isAfterLast()Z
26552 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26554 + if-eqz v0, :cond_b
26556 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26558 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
26571 +.method public isBeforeFirst()Z
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}, Landroid/database/Cursor;->isBeforeFirst()Z
26593 +.method public isClosed()Z
26596 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26598 + if-eqz v0, :cond_b
26600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26602 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
26615 +.method public isFirst()Z
26620 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26622 + if-eqz v1, :cond_1b
26624 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26626 + if-eqz v1, :cond_1b
26628 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26630 + if-nez v1, :cond_1b
26632 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26634 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
26638 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26642 + if-ne v1, v2, :cond_1a
26651 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26653 + if-eqz v1, :cond_1a
26655 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26657 + invoke-interface {v0}, Landroid/database/Cursor;->isFirst()Z
26664 +.method public isLast()Z
26667 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26669 + if-eqz v0, :cond_1f
26671 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26673 + if-eqz v0, :cond_1f
26675 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26677 + if-nez v0, :cond_1f
26679 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26681 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
26685 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26687 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26689 + array-length v2, v2
26691 + add-int/lit8 v2, v2, -0x1
26695 + if-ne v0, v1, :cond_2a
26703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26705 + if-eqz v0, :cond_2a
26707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26709 + invoke-interface {v0}, Landroid/database/Cursor;->isLast()Z
26721 +.method public isNull(I)Z
26724 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26726 + if-eqz v0, :cond_b
26728 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26730 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
26743 +.method public move(I)Z
26748 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26750 + if-eqz v3, :cond_3e
26752 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26754 + if-eqz v3, :cond_3e
26756 + iget-boolean v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26758 + if-nez v3, :cond_3e
26760 + const-string v3, "PrivacyCursor"
26762 + new-instance v4, Ljava/lang/StringBuilder;
26764 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
26766 + const-string/jumbo v5, "move - offset: "
26768 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26770 + move-result-object v4
26772 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26774 + move-result-object v4
26776 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26778 + move-result-object v4
26780 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
26783 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26785 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26787 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
26791 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
26795 + add-int/2addr v4, p1
26799 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26801 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
26803 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_26 .. :try_end_3a} :catch_3c
26812 + move-exception v0
26817 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26819 + if-eqz v3, :cond_3b
26821 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26823 + invoke-interface {v3, p1}, Landroid/database/Cursor;->move(I)Z
26828 +.method public moveToFirst()Z
26833 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26835 + if-eqz v1, :cond_18
26837 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26839 + if-eqz v1, :cond_18
26841 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26843 + if-nez v1, :cond_18
26845 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26847 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26851 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
26860 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26862 + if-eqz v1, :cond_17
26864 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26866 + invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
26873 +.method public moveToLast()Z
26876 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26878 + if-eqz v1, :cond_1c
26880 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26882 + if-eqz v1, :cond_1c
26884 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26886 + if-nez v1, :cond_1c
26888 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26890 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26892 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26894 + array-length v3, v3
26896 + add-int/lit8 v3, v3, -0x1
26900 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
26908 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26910 + if-eqz v1, :cond_27
26912 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26914 + invoke-interface {v1}, Landroid/database/Cursor;->moveToLast()Z
26926 +.method public moveToNext()Z
26931 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26933 + if-eqz v1, :cond_29
26935 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
26937 + if-eqz v1, :cond_29
26939 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
26941 + if-nez v1, :cond_29
26943 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26945 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
26949 + if-nez v1, :cond_16
26961 + if-ne v0, v1, :cond_15
26963 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26965 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
26969 + if-nez v1, :cond_15
26971 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26973 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
26980 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26982 + if-eqz v1, :cond_15
26984 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
26986 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
26993 +.method public moveToPosition(I)Z
26998 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27000 + if-eqz v2, :cond_1a
27002 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27004 + if-eqz v2, :cond_1a
27006 + iget-boolean v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27008 + if-nez v2, :cond_1a
27011 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27013 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27017 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
27019 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_d .. :try_end_16} :catch_18
27028 + move-exception v0
27033 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27035 + if-eqz v2, :cond_17
27037 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27039 + invoke-interface {v2, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
27046 +.method public moveToPrevious()Z
27051 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27053 + if-eqz v1, :cond_29
27055 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27057 + if-eqz v1, :cond_29
27059 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27061 + if-nez v1, :cond_29
27063 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27065 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27069 + if-nez v1, :cond_16
27081 + if-ne v0, v1, :cond_15
27083 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27085 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27089 + if-nez v1, :cond_15
27091 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27093 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27100 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27102 + if-eqz v1, :cond_15
27104 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27106 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
27113 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
27116 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27118 + if-eqz v0, :cond_9
27120 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27122 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
27128 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
27131 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27133 + if-eqz v0, :cond_9
27135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27137 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
27143 +.method public requery()Z
27146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27148 + if-eqz v0, :cond_b
27150 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27152 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
27165 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27168 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27170 + if-eqz v0, :cond_b
27172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27174 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
27176 + move-result-object v0
27182 + new-instance v0, Landroid/os/Bundle;
27184 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
27189 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27192 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27194 + if-eqz v0, :cond_9
27196 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27198 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
27204 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
27207 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27209 + if-eqz v0, :cond_9
27211 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27213 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
27219 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27222 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27224 + if-eqz v0, :cond_9
27226 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27228 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
27233 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
27234 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
27235 +++ opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2013-01-20 23:05:45.915697379 -0600
27237 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27238 +.super Ljava/lang/Thread;
27239 +.source "PrivacyLocationManager.java"
27243 +.annotation system Ldalvik/annotation/EnclosingClass;
27244 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
27247 +.annotation system Ldalvik/annotation/InnerClass;
27248 + accessFlags = 0x2
27249 + name = "PrivacyLocationUpdater"
27254 +.field private intent:Landroid/app/PendingIntent;
27256 +.field private latitude:D
27258 +.field private listener:Landroid/location/LocationListener;
27260 +.field private longitude:D
27262 +.field private provider:Ljava/lang/String;
27264 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
27268 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
27271 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
27273 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
27275 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27277 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27279 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27281 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
27283 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
27290 +.method public run()V
27293 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27295 + if-eqz v3, :cond_43
27297 + new-instance v2, Landroid/location/Location;
27299 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
27301 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
27303 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
27305 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
27307 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
27309 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
27316 + if-ge v1, v3, :cond_43
27318 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27320 + if-eqz v3, :cond_34
27322 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
27324 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
27329 + invoke-static {}, Ljava/lang/Math;->random()D
27331 + move-result-wide v3
27333 + const-wide v5, 0x408f400000000000L
27335 + mul-double/2addr v3, v5
27337 + double-to-int v3, v3
27339 + int-to-long v3, v3
27341 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
27343 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
27346 + add-int/lit8 v1, v1, 0x1
27351 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27353 + if-eqz v3, :cond_22
27355 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
27357 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
27362 + move-exception v0
27364 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
27371 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
27372 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
27373 +++ opd-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2013-01-20 23:05:45.915697379 -0600
27375 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
27376 +.super Landroid/location/LocationManager;
27377 +.source "PrivacyLocationManager.java"
27381 +.annotation system Ldalvik/annotation/MemberClasses;
27383 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27389 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
27391 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
27395 +.field private context:Landroid/content/Context;
27397 +.field private lock:Ljava/lang/Object;
27399 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
27403 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
27406 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
27408 + new-instance v0, Ljava/lang/Object;
27410 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
27412 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
27414 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
27416 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
27418 + const-string/jumbo v1, "privacy"
27420 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
27422 + move-result-object v1
27424 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
27426 + move-result-object v1
27428 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
27430 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27435 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27440 + if-nez p1, :cond_5
27448 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
27454 + if-eq v0, v1, :cond_24
27456 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
27460 + if-eq v0, v2, :cond_24
27462 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
27466 + if-eq v0, v2, :cond_24
27468 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
27472 + if-eq v0, v2, :cond_24
27474 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
27478 + if-ne v0, v2, :cond_2b
27481 + const-string v0, "gps"
27483 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27490 + const-string/jumbo v0, "network"
27492 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27499 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
27502 + move-object/from16 v0, p0
27504 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
27506 + move-object/from16 v19, v0
27508 + monitor-enter v19
27511 + move-object/from16 v0, p0
27513 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
27515 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
27517 + move-result-object v2
27519 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
27523 + move-object/from16 v0, p0
27525 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27527 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
27529 + move-result-object v7
27531 + const/16 v18, 0x0
27533 + if-eqz v7, :cond_239
27535 + const-string v1, "gps"
27537 + move-object/from16 v0, p1
27539 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
27543 + if-eqz v1, :cond_111
27545 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
27549 + packed-switch v1, :pswitch_data_25e
27558 + move-object/from16 v0, p0
27560 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27564 + const-string v5, "locationGPS"
27568 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27573 + move-exception v1
27577 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
27582 + if-eqz p3, :cond_46
27585 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
27588 + const/16 v18, 0x1
27590 + move-object/from16 v0, p0
27592 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27596 + const-string v5, "locationGPS"
27600 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27602 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
27608 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27610 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27612 + move-result-object v1
27614 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27616 + move-result-wide v13
27618 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27620 + move-result-object v1
27622 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27624 + move-result-wide v15
27626 + move-object/from16 v9, p0
27628 + move-object/from16 v10, p1
27630 + move-object/from16 v11, p2
27632 + move-object/from16 v12, p3
27634 + 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
27636 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27638 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
27639 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
27641 + const/16 v18, 0x1
27645 + move-object/from16 v0, p0
27647 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27651 + const-string v5, "locationGPS"
27653 + new-instance v6, Ljava/lang/StringBuilder;
27655 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27657 + const-string v8, "Lat: "
27659 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27661 + move-result-object v6
27663 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27665 + move-result-object v8
27667 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27669 + move-result-object v6
27671 + const-string v8, " Lon: "
27673 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27675 + move-result-object v6
27677 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27679 + move-result-object v8
27681 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27683 + move-result-object v6
27685 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27687 + move-result-object v6
27689 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27694 + move-exception v17
27696 + const-string v1, "PrivacyLocationManager"
27698 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
27700 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27702 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
27704 + const/16 v18, 0x1
27710 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27712 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27714 + move-result-object v1
27716 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27718 + move-result-wide v13
27720 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27722 + move-result-object v1
27724 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27726 + move-result-wide v15
27728 + move-object/from16 v9, p0
27730 + move-object/from16 v10, p1
27732 + move-object/from16 v11, p2
27734 + move-object/from16 v12, p3
27736 + 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
27738 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27740 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
27741 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
27743 + const/16 v18, 0x1
27747 + move-object/from16 v0, p0
27749 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27753 + const-string v5, "locationGPS"
27755 + new-instance v6, Ljava/lang/StringBuilder;
27757 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27759 + const-string v8, "Lat: "
27761 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27763 + move-result-object v6
27765 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
27767 + move-result-object v8
27769 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27771 + move-result-object v6
27773 + const-string v8, " Lon: "
27775 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27777 + move-result-object v6
27779 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
27781 + move-result-object v8
27783 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27785 + move-result-object v6
27787 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27789 + move-result-object v6
27791 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27796 + move-exception v17
27798 + const-string v1, "PrivacyLocationManager"
27800 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
27802 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27804 + const/16 v18, 0x1
27809 + const-string/jumbo v1, "network"
27811 + move-object/from16 v0, p1
27813 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
27817 + if-eqz v1, :cond_204
27819 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
27823 + packed-switch v1, :pswitch_data_26a
27828 + move-object/from16 v0, p0
27830 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27834 + const-string v5, "locationNetwork"
27838 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27843 + if-eqz p3, :cond_137
27845 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
27848 + const/16 v18, 0x1
27850 + move-object/from16 v0, p0
27852 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27856 + const-string v5, "locationNetwork"
27860 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27862 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
27868 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27870 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
27872 + move-result-object v1
27874 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27876 + move-result-wide v13
27878 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
27880 + move-result-object v1
27882 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27884 + move-result-wide v15
27886 + move-object/from16 v9, p0
27888 + move-object/from16 v10, p1
27890 + move-object/from16 v11, p2
27892 + move-object/from16 v12, p3
27894 + 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
27896 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
27898 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
27899 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
27901 + const/16 v18, 0x1
27905 + move-object/from16 v0, p0
27907 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
27911 + const-string v5, "locationNetwork"
27913 + new-instance v6, Ljava/lang/StringBuilder;
27915 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
27917 + const-string v8, "Lat: "
27919 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27921 + move-result-object v6
27923 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
27925 + move-result-object v8
27927 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27929 + move-result-object v6
27931 + const-string v8, " Lon: "
27933 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27935 + move-result-object v6
27937 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
27939 + move-result-object v8
27941 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27943 + move-result-object v6
27945 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27947 + move-result-object v6
27949 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
27954 + move-exception v17
27956 + const-string v1, "PrivacyLocationManager"
27958 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
27960 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27962 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
27964 + const/16 v18, 0x1
27970 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
27972 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
27974 + move-result-object v1
27976 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27978 + move-result-wide v13
27980 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
27982 + move-result-object v1
27984 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
27986 + move-result-wide v15
27988 + move-object/from16 v9, p0
27990 + move-object/from16 v10, p1
27992 + move-object/from16 v11, p2
27994 + move-object/from16 v12, p3
27996 + 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
27998 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
28000 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
28001 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
28003 + const/16 v18, 0x1
28007 + move-object/from16 v0, p0
28009 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28013 + const-string v5, "locationNetwork"
28015 + new-instance v6, Ljava/lang/StringBuilder;
28017 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
28019 + const-string v8, "Lat: "
28021 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28023 + move-result-object v6
28025 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28027 + move-result-object v8
28029 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28031 + move-result-object v6
28033 + const-string v8, " Lon: "
28035 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28037 + move-result-object v6
28039 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28041 + move-result-object v8
28043 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28045 + move-result-object v6
28047 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28049 + move-result-object v6
28051 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28056 + move-exception v17
28058 + const-string v1, "PrivacyLocationManager"
28060 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
28062 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
28064 + const/16 v18, 0x1
28069 + const-string/jumbo v1, "passive"
28071 + move-object/from16 v0, p1
28073 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28077 + if-eqz v1, :cond_30
28079 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28083 + if-nez v1, :cond_22a
28085 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28089 + if-nez v1, :cond_22a
28091 + const/16 v18, 0x0
28093 + move-object/from16 v0, p0
28095 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28099 + const-string v5, "locationGPS"
28103 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28108 + const/16 v18, 0x1
28110 + move-object/from16 v0, p0
28112 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28116 + const-string v5, "locationGPS"
28120 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28125 + const-string/jumbo v1, "network"
28127 + move-object/from16 v0, p1
28129 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28133 + if-eqz v1, :cond_251
28135 + move-object/from16 v0, p0
28137 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28141 + const-string v5, "locationNetwork"
28145 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28150 + move-object/from16 v0, p0
28152 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28156 + const-string v5, "locationGPS"
28160 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28162 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
28166 + :pswitch_data_25e
28167 + .packed-switch 0x0
28172 + .end packed-switch
28174 + :pswitch_data_26a
28175 + .packed-switch 0x0
28180 + .end packed-switch
28185 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28192 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28194 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28196 + move-result-object v1
28198 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28202 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28204 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28206 + move-result-object v6
28208 + if-eqz v6, :cond_24
28210 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28214 + if-eqz v0, :cond_24
28216 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28220 + const-string v4, "locationGPS"
28222 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28230 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28232 + const-string v4, "locationGPS"
28236 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28238 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
28245 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28258 + if-nez p1, :cond_c
28260 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28262 + move-result-object v7
28269 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28271 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28273 + move-result-object v1
28275 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28279 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28281 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28283 + move-result-object v6
28287 + if-eqz v6, :cond_22c
28289 + const-string v0, "gps"
28291 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28295 + if-eqz v0, :cond_ff
28297 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28301 + packed-switch v0, :pswitch_data_29a
28306 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28308 + move-result-object v7
28310 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28312 + const-string v4, "locationGPS"
28314 + if-eqz v7, :cond_5e
28316 + new-instance v5, Ljava/lang/StringBuilder;
28318 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28320 + const-string v8, "Lat: "
28322 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28324 + move-result-object v5
28326 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28328 + move-result-wide v8
28330 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28332 + move-result-object v5
28334 + const-string v8, " Lon: "
28336 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28338 + move-result-object v5
28340 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28342 + move-result-wide v8
28344 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28346 + move-result-object v5
28348 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28350 + move-result-object v5
28353 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28358 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28360 + const-string v4, "locationGPS"
28364 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28369 + new-instance v7, Landroid/location/Location;
28371 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28373 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28375 + move-result-object v0
28377 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28379 + move-result-wide v3
28381 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28383 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28385 + move-result-object v0
28387 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28389 + move-result-wide v3
28391 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28393 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28395 + const-string v4, "locationGPS"
28397 + new-instance v3, Ljava/lang/StringBuilder;
28399 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28401 + const-string v5, "Lat: "
28403 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28405 + move-result-object v3
28407 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28409 + move-result-wide v8
28411 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28413 + move-result-object v3
28415 + const-string v5, " Lon: "
28417 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28419 + move-result-object v3
28421 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28423 + move-result-wide v8
28425 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28427 + move-result-object v3
28429 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28431 + move-result-object v5
28435 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28440 + new-instance v7, Landroid/location/Location;
28442 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28444 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
28446 + move-result-object v0
28448 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28450 + move-result-wide v3
28452 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28454 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
28456 + move-result-object v0
28458 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28460 + move-result-wide v3
28462 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28464 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28466 + const-string v4, "locationGPS"
28468 + new-instance v3, Ljava/lang/StringBuilder;
28470 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28472 + const-string v5, "Lat: "
28474 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28476 + move-result-object v3
28478 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28480 + move-result-wide v8
28482 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28484 + move-result-object v3
28486 + const-string v5, " Lon: "
28488 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28490 + move-result-object v3
28492 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28494 + move-result-wide v8
28496 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28498 + move-result-object v3
28500 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28502 + move-result-object v5
28506 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28511 + const-string/jumbo v0, "network"
28513 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28517 + if-eqz v0, :cond_1e3
28519 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28523 + packed-switch v0, :pswitch_data_2a6
28528 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28530 + move-result-object v7
28532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28534 + const-string v4, "locationNetwork"
28536 + if-eqz v7, :cond_140
28538 + new-instance v5, Ljava/lang/StringBuilder;
28540 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28542 + const-string v8, "Lat: "
28544 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28546 + move-result-object v5
28548 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28550 + move-result-wide v8
28552 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28554 + move-result-object v5
28556 + const-string v8, " Lon: "
28558 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28560 + move-result-object v5
28562 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28564 + move-result-wide v8
28566 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28568 + move-result-object v5
28570 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28572 + move-result-object v5
28575 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28582 + const-string v4, "locationNetwork"
28586 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28591 + new-instance v7, Landroid/location/Location;
28593 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28595 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28597 + move-result-object v0
28599 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28601 + move-result-wide v3
28603 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28605 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28607 + move-result-object v0
28609 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28611 + move-result-wide v3
28613 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28617 + const-string v4, "locationNetwork"
28619 + new-instance v3, Ljava/lang/StringBuilder;
28621 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28623 + const-string v5, "Lat: "
28625 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28627 + move-result-object v3
28629 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28631 + move-result-wide v8
28633 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28635 + move-result-object v3
28637 + const-string v5, " Lon: "
28639 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28641 + move-result-object v3
28643 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28645 + move-result-wide v8
28647 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28649 + move-result-object v3
28651 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28653 + move-result-object v5
28657 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28662 + new-instance v7, Landroid/location/Location;
28664 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
28666 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
28668 + move-result-object v0
28670 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28672 + move-result-wide v3
28674 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
28676 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
28678 + move-result-object v0
28680 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
28682 + move-result-wide v3
28684 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
28686 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28688 + const-string v4, "locationNetwork"
28690 + new-instance v3, Ljava/lang/StringBuilder;
28692 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
28694 + const-string v5, "Lat: "
28696 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28698 + move-result-object v3
28700 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28702 + move-result-wide v8
28704 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28706 + move-result-object v3
28708 + const-string v5, " Lon: "
28710 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28712 + move-result-object v3
28714 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28716 + move-result-wide v8
28718 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28720 + move-result-object v3
28722 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28724 + move-result-object v5
28728 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28733 + const-string/jumbo v0, "passive"
28735 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28739 + if-eqz v0, :cond_b
28741 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28745 + if-nez v0, :cond_b
28747 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
28751 + if-nez v0, :cond_b
28753 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28755 + move-result-object v7
28757 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28759 + const-string v4, "locationGPS"
28761 + if-eqz v7, :cond_227
28763 + new-instance v5, Ljava/lang/StringBuilder;
28765 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28767 + const-string v8, "Lat: "
28769 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28771 + move-result-object v5
28773 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28775 + move-result-wide v8
28777 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28779 + move-result-object v5
28781 + const-string v8, " Lon: "
28783 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28785 + move-result-object v5
28787 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28789 + move-result-wide v8
28791 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28793 + move-result-object v5
28795 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28797 + move-result-object v5
28800 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28805 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
28807 + move-result-object v7
28809 + const-string/jumbo v0, "network"
28811 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28815 + if-eqz v0, :cond_269
28817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28819 + const-string v4, "locationNetwork"
28821 + if-eqz v7, :cond_264
28823 + new-instance v5, Ljava/lang/StringBuilder;
28825 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28827 + const-string v8, "Lat: "
28829 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28831 + move-result-object v5
28833 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28835 + move-result-wide v8
28837 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28839 + move-result-object v5
28841 + const-string v8, " Lon: "
28843 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28845 + move-result-object v5
28847 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28849 + move-result-wide v8
28851 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28853 + move-result-object v5
28855 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28857 + move-result-object v5
28860 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28865 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28867 + const-string v4, "locationGPS"
28869 + if-eqz v7, :cond_294
28871 + new-instance v5, Ljava/lang/StringBuilder;
28873 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
28875 + const-string v8, "Lat: "
28877 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28879 + move-result-object v5
28881 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
28883 + move-result-wide v8
28885 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28887 + move-result-object v5
28889 + const-string v8, " Lon: "
28891 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28893 + move-result-object v5
28895 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
28897 + move-result-wide v8
28899 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
28901 + move-result-object v5
28903 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28905 + move-result-object v5
28908 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28914 + :pswitch_data_29a
28915 + .packed-switch 0x0
28920 + .end packed-switch
28922 + :pswitch_data_2a6
28923 + .packed-switch 0x0
28928 + .end packed-switch
28931 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
28934 + if-nez p1, :cond_7
28936 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
28938 + move-result-object v0
28945 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28947 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
28949 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28951 + move-result-object v3
28953 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
28957 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28959 + move-result-object v1
28963 + if-eqz v1, :cond_5f
28965 + const-string v2, "gps"
28967 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28971 + if-eqz v2, :cond_2f
28973 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
28977 + packed-switch v2, :pswitch_data_64
28983 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
28985 + move-result-object v0
28990 + const-string/jumbo v2, "network"
28992 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
28996 + if-eqz v2, :cond_45
28998 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29002 + packed-switch v2, :pswitch_data_70
29008 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29010 + move-result-object v0
29015 + const-string/jumbo v2, "passive"
29017 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29021 + if-eqz v2, :cond_6
29023 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29027 + if-eqz v2, :cond_5a
29029 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29033 + if-nez v2, :cond_6
29036 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29038 + move-result-object v0
29043 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
29045 + move-result-object v0
29050 + .packed-switch 0x0
29055 + .end packed-switch
29058 + .packed-switch 0x0
29063 + .end packed-switch
29066 +.method public isProviderEnabled(Ljava/lang/String;)Z
29069 + if-nez p1, :cond_7
29071 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29081 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29083 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
29085 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29087 + move-result-object v3
29089 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29093 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29095 + move-result-object v1
29099 + if-eqz v1, :cond_65
29101 + const-string v2, "gps"
29103 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29107 + if-eqz v2, :cond_31
29109 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29113 + packed-switch v2, :pswitch_data_6a
29118 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29130 + const-string/jumbo v2, "network"
29132 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29136 + if-eqz v2, :cond_49
29138 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29142 + packed-switch v2, :pswitch_data_76
29147 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29159 + const-string/jumbo v2, "passive"
29161 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
29165 + if-eqz v2, :cond_6
29167 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29171 + if-eqz v2, :cond_5e
29173 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29177 + if-nez v2, :cond_63
29180 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29192 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
29199 + .packed-switch 0x0
29204 + .end packed-switch
29207 + .packed-switch 0x0
29212 + .end packed-switch
29215 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29218 + if-eqz p4, :cond_4
29220 + if-nez p5, :cond_8
29223 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29232 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29236 + if-nez v0, :cond_7
29238 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
29243 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29246 + if-eqz p4, :cond_4
29248 + if-nez p5, :cond_8
29251 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29260 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29264 + if-nez v0, :cond_7
29266 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29271 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29274 + if-eqz p1, :cond_4
29276 + if-nez p5, :cond_8
29279 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29288 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29292 + if-nez v0, :cond_7
29294 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
29299 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29302 + if-eqz p1, :cond_4
29304 + if-nez p5, :cond_8
29307 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29316 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29320 + if-nez v0, :cond_7
29322 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
29327 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29330 + if-eqz p1, :cond_4
29332 + if-nez p5, :cond_8
29335 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29344 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29348 + if-nez v0, :cond_7
29350 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
29355 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29358 + if-eqz p1, :cond_4
29360 + if-nez p2, :cond_8
29363 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29372 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29376 + if-nez v0, :cond_7
29378 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
29383 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29386 + if-eqz p1, :cond_4
29388 + if-nez p2, :cond_8
29391 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29400 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29404 + if-nez v0, :cond_7
29406 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
29411 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29414 + if-eqz p1, :cond_4
29416 + if-nez p2, :cond_8
29419 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29428 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29432 + if-nez v0, :cond_7
29434 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
29439 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29442 + if-eqz p1, :cond_4
29444 + if-nez p2, :cond_8
29447 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29456 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
29460 + if-nez v0, :cond_7
29462 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
29466 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
29467 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
29468 +++ opd-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2013-01-20 23:05:45.919697329 -0600
29470 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
29471 +.super Landroid/telephony/TelephonyManager;
29472 +.source "PrivacyTelephonyManager.java"
29476 +.field private static final NETWORK_TYPES:[I = null
29478 +.field private static final PHONE_TYPES:[I = null
29480 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
29484 +.field private context:Landroid/content/Context;
29486 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
29490 +.method static constructor <clinit>()V
29495 + new-array v0, v0, [I
29497 + fill-array-data v0, :array_12
29499 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
29501 + const/16 v0, 0x10
29503 + new-array v0, v0, [I
29505 + fill-array-data v0, :array_1e
29507 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
29513 + 0x0t 0x0t 0x0t 0x0t
29514 + 0x1t 0x0t 0x0t 0x0t
29515 + 0x2t 0x0t 0x0t 0x0t
29516 + 0x3t 0x0t 0x0t 0x0t
29521 + 0x0t 0x0t 0x0t 0x0t
29522 + 0x1t 0x0t 0x0t 0x0t
29523 + 0x2t 0x0t 0x0t 0x0t
29524 + 0x3t 0x0t 0x0t 0x0t
29525 + 0x4t 0x0t 0x0t 0x0t
29526 + 0x5t 0x0t 0x0t 0x0t
29527 + 0x6t 0x0t 0x0t 0x0t
29528 + 0x7t 0x0t 0x0t 0x0t
29529 + 0x8t 0x0t 0x0t 0x0t
29530 + 0x9t 0x0t 0x0t 0x0t
29531 + 0xat 0x0t 0x0t 0x0t
29532 + 0xbt 0x0t 0x0t 0x0t
29533 + 0xct 0x0t 0x0t 0x0t
29534 + 0xdt 0x0t 0x0t 0x0t
29535 + 0xet 0x0t 0x0t 0x0t
29536 + 0xft 0x0t 0x0t 0x0t
29540 +.method public constructor <init>(Landroid/content/Context;)V
29543 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
29545 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29547 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
29549 + const-string/jumbo v1, "privacy"
29551 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
29553 + move-result-object v1
29555 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
29557 + move-result-object v1
29559 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
29561 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29566 +.method private getNetworkInfo()Ljava/lang/String;
29571 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29573 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29575 + move-result-object v1
29577 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29581 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29583 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29585 + move-result-object v6
29587 + if-eqz v6, :cond_25
29589 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
29593 + if-eqz v0, :cond_25
29595 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29599 + const-string/jumbo v4, "networkInfoCurrent"
29601 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29603 + const-string v5, ""
29609 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29613 + const-string/jumbo v4, "networkInfoCurrent"
29615 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29620 +.method private getSimInfo()Ljava/lang/String;
29625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29627 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29629 + move-result-object v1
29631 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29635 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29637 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29639 + move-result-object v6
29641 + if-eqz v6, :cond_25
29643 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
29647 + if-eqz v0, :cond_25
29649 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29653 + const-string/jumbo v4, "networkInfoSIM"
29655 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29657 + const-string v5, ""
29663 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29667 + const-string/jumbo v4, "networkInfoSIM"
29669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29676 +.method public getAllCellInfo()Ljava/util/List;
29678 + .annotation system Ldalvik/annotation/Signature;
29681 + "Ljava/util/List",
29683 + "Landroid/telephony/CellInfo;",
29688 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29690 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29692 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29694 + move-result-object v3
29696 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29700 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29702 + move-result-object v1
29706 + if-eqz v1, :cond_1f
29708 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29714 + if-ne v2, v3, :cond_20
29716 + new-instance v0, Ljava/util/ArrayList;
29718 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
29725 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29729 + if-eqz v2, :cond_2c
29731 + new-instance v0, Ljava/util/ArrayList;
29733 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
29738 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
29740 + move-result-object v0
29745 +.method public getCellLocation()Landroid/telephony/CellLocation;
29751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29753 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29755 + move-result-object v1
29757 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29761 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29763 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29765 + move-result-object v6
29767 + if-eqz v6, :cond_2c
29769 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29773 + if-nez v0, :cond_1f
29775 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29779 + if-eqz v0, :cond_2c
29782 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29784 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29788 + const-string v4, "locationNetwork"
29792 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29798 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29800 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29804 + const-string v4, "locationNetwork"
29808 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29810 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
29812 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_3b} :catch_3d
29814 + move-result-object v7
29819 + move-exception v8
29824 +.method public getCompleteVoiceMailNumber()Ljava/lang/String;
29828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29830 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29832 + move-result-object v1
29834 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29838 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29840 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29842 + move-result-object v6
29844 + const-string v5, ""
29846 + if-eqz v6, :cond_2a
29848 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29852 + if-eqz v0, :cond_2a
29854 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
29856 + move-result-object v5
29858 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29860 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29864 + const-string v4, "line1Number"
29866 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29872 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber()Ljava/lang/String;
29874 + move-result-object v5
29876 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29880 + const-string v4, "line1Number"
29882 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29884 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
29889 + move-exception v7
29896 +.method public getDeviceId()Ljava/lang/String;
29899 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29901 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29903 + move-result-object v1
29905 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29909 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29911 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29913 + move-result-object v6
29915 + if-eqz v6, :cond_28
29917 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29921 + if-eqz v0, :cond_28
29923 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29925 + move-result-object v5
29927 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29929 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29933 + const-string v4, "deviceID"
29935 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29941 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
29943 + move-result-object v5
29945 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29949 + const-string v4, "deviceID"
29951 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29956 +.method public getDeviceSoftwareVersion()Ljava/lang/String;
29960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
29962 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29964 + move-result-object v1
29966 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29970 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29972 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29974 + move-result-object v6
29976 + const-string v5, ""
29978 + if-eqz v6, :cond_2a
29980 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29984 + if-eqz v0, :cond_2a
29986 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29988 + move-result-object v5
29990 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29992 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29996 + const-string v4, "deviceID"
29998 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30004 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceSoftwareVersion()Ljava/lang/String;
30006 + move-result-object v5
30008 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30012 + const-string v4, "deviceID"
30014 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30016 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
30021 + move-exception v7
30028 +.method public getIsimDomain()Ljava/lang/String;
30031 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30033 + move-result-object v0
30038 +.method public getIsimImpi()Ljava/lang/String;
30041 + const-string v0, "PrivacyTelephonyManager"
30043 + new-instance v1, Ljava/lang/StringBuilder;
30045 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30047 + const-string v2, "getIsimImpi - "
30049 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30051 + move-result-object v1
30053 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30055 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30057 + move-result-object v2
30059 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30061 + move-result-object v1
30063 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30065 + move-result-object v1
30067 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30069 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30071 + move-result-object v0
30076 +.method public getIsimImpu()[Ljava/lang/String;
30081 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30083 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30085 + move-result-object v1
30087 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30091 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30093 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30095 + move-result-object v6
30097 + const-string v0, "PrivacyTelephonyManager"
30099 + new-instance v3, Ljava/lang/StringBuilder;
30101 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30103 + const-string v4, "getIsimImpu() - "
30105 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30107 + move-result-object v3
30109 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30111 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30113 + move-result-object v4
30115 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30117 + move-result-object v3
30119 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30121 + move-result-object v3
30123 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30127 + new-array v7, v0, [Ljava/lang/String;
30129 + if-eqz v6, :cond_4f
30131 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30135 + if-eqz v0, :cond_4f
30137 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30139 + move-result-object v0
30141 + aput-object v0, v7, v8
30143 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30145 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30149 + const-string/jumbo v4, "subscriberID"
30151 + aget-object v5, v7, v8
30153 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30159 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
30161 + move-result-object v7
30163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30165 + const-string/jumbo v4, "subscriberID"
30167 + aget-object v5, v7, v8
30171 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30176 +.method public getLine1AlphaTag()Ljava/lang/String;
30179 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getLine1Number()Ljava/lang/String;
30181 + move-result-object v0
30186 +.method public getLine1Number()Ljava/lang/String;
30189 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30191 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30193 + move-result-object v1
30195 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30201 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30203 + move-result-object v6
30205 + if-eqz v6, :cond_28
30207 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30211 + if-eqz v0, :cond_28
30213 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30215 + move-result-object v5
30217 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30219 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30223 + const-string v4, "line1Number"
30225 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30231 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
30233 + move-result-object v5
30235 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30239 + const-string v4, "line1Number"
30241 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30246 +.method public getMsisdn()Ljava/lang/String;
30249 + const-string v0, "PrivacyTelephonyManager"
30251 + new-instance v1, Ljava/lang/StringBuilder;
30253 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
30255 + const-string v2, "getMsisdn() - "
30257 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30259 + move-result-object v1
30261 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30263 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30265 + move-result-object v2
30267 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30269 + move-result-object v1
30271 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30273 + move-result-object v1
30275 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30277 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
30279 + move-result-object v0
30284 +.method public getNeighboringCellInfo()Ljava/util/List;
30286 + .annotation system Ldalvik/annotation/Signature;
30289 + "Ljava/util/List",
30291 + "Landroid/telephony/NeighboringCellInfo;",
30296 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30298 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30300 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30302 + move-result-object v7
30304 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30308 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30310 + move-result-object v5
30314 + const-string v4, "[null]"
30316 + if-eqz v5, :cond_1c
30318 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30324 + if-ne v6, v7, :cond_1d
30331 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30335 + if-eqz v6, :cond_2b
30337 + new-instance v3, Ljava/util/ArrayList;
30339 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
30341 + const-string v4, "[empty list of cells]"
30346 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
30348 + move-result-object v3
30350 + const-string v0, ""
30352 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
30354 + move-result-object v2
30357 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
30361 + if-eqz v6, :cond_5f
30363 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
30365 + move-result-object v1
30367 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
30369 + new-instance v6, Ljava/lang/StringBuilder;
30371 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30373 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30375 + move-result-object v6
30377 + const-string v7, "\t"
30379 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30381 + move-result-object v6
30383 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
30385 + move-result-object v6
30387 + const-string v7, "\n"
30389 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30391 + move-result-object v6
30393 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30395 + move-result-object v0
30400 + new-instance v6, Ljava/lang/StringBuilder;
30402 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30404 + const-string v7, "[real value]:\n"
30406 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30408 + move-result-object v6
30410 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30412 + move-result-object v6
30414 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30416 + move-result-object v4
30421 +.method public getNetworkCountryIso()Ljava/lang/String;
30424 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30426 + move-result-object v0
30428 + if-nez v0, :cond_a
30430 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
30432 + move-result-object v0
30438 +.method public getNetworkOperator()Ljava/lang/String;
30441 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30443 + move-result-object v0
30445 + if-nez v0, :cond_a
30447 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
30449 + move-result-object v0
30455 +.method public getNetworkOperatorName()Ljava/lang/String;
30458 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30460 + move-result-object v0
30462 + if-nez v0, :cond_a
30464 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
30466 + move-result-object v0
30472 +.method public getNetworkType()I
30478 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30480 + move-result-object v1
30482 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30488 + if-nez v1, :cond_10
30490 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
30492 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_f} :catch_11
30501 + move-exception v0
30503 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
30510 +.method public getPhoneType()I
30513 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
30515 + move-result-object v0
30517 + sget-object v2, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
30523 + if-nez v0, :cond_f
30525 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getPhoneType()I
30533 +.method public getSimCountryIso()Ljava/lang/String;
30536 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30538 + move-result-object v0
30540 + if-nez v0, :cond_a
30542 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
30544 + move-result-object v0
30550 +.method public getSimOperator()Ljava/lang/String;
30553 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30555 + move-result-object v0
30557 + if-nez v0, :cond_a
30559 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
30561 + move-result-object v0
30567 +.method public getSimOperatorName()Ljava/lang/String;
30570 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
30572 + move-result-object v0
30574 + if-nez v0, :cond_a
30576 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
30578 + move-result-object v0
30584 +.method public getSimSerialNumber()Ljava/lang/String;
30587 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30589 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30591 + move-result-object v1
30593 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30597 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30599 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30601 + move-result-object v6
30603 + if-eqz v6, :cond_29
30605 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
30609 + if-eqz v0, :cond_29
30611 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
30613 + move-result-object v5
30615 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30617 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
30621 + const-string/jumbo v4, "simSerial"
30623 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30629 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
30631 + move-result-object v5
30633 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30637 + const-string/jumbo v4, "simSerial"
30639 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30644 +.method public getSubscriberId()Ljava/lang/String;
30647 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30649 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30651 + move-result-object v1
30653 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30659 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30661 + move-result-object v6
30663 + const-string v0, "PrivacyTelephonyManager"
30665 + new-instance v3, Ljava/lang/StringBuilder;
30667 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30669 + const-string v4, "getSubscriberId() - "
30671 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30673 + move-result-object v3
30675 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30677 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30679 + move-result-object v4
30681 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30683 + move-result-object v3
30685 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30687 + move-result-object v3
30689 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30691 + if-eqz v6, :cond_47
30693 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30697 + if-eqz v0, :cond_47
30699 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30701 + move-result-object v5
30703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30705 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30709 + const-string/jumbo v4, "subscriberID"
30711 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30717 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
30719 + move-result-object v5
30721 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30725 + const-string/jumbo v4, "subscriberID"
30727 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30732 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
30735 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
30737 + move-result-object v0
30742 +.method public getVoiceMailNumber()Ljava/lang/String;
30745 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30747 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30749 + move-result-object v1
30751 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30755 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30757 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30759 + move-result-object v6
30761 + if-eqz v6, :cond_28
30763 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30767 + if-eqz v0, :cond_28
30769 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30771 + move-result-object v5
30773 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30775 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30779 + const-string v4, "line1Number"
30781 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30787 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
30789 + move-result-object v5
30791 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30795 + const-string v4, "line1Number"
30797 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30802 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
30805 + and-int/lit8 v1, p2, 0x10
30807 + if-nez v1, :cond_8
30809 + and-int/lit8 v1, p2, 0x20
30811 + if-eqz v1, :cond_29
30814 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30816 + if-eqz v1, :cond_27
30818 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30820 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30822 + move-result-object v0
30825 + if-eqz v0, :cond_1c
30827 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
30829 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
30831 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
30834 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30838 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setUid(I)V
30840 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
30851 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
30855 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali opd-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali
30856 --- stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 1969-12-31 18:00:00.000000000 -0600
30857 +++ opd-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 2013-01-20 23:05:45.919697329 -0600
30859 +.class public Landroid/privacy/surrogate/PrivacyWifiManager;
30860 +.super Landroid/net/wifi/WifiManager;
30861 +.source "PrivacyWifiManager.java"
30865 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyWifiManager"
30869 +.field private context:Landroid/content/Context;
30871 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
30875 +.method public constructor <init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
30878 + invoke-direct {p0, p1, p2}, Landroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;)V
30880 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
30882 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
30884 + const-string/jumbo v1, "privacy"
30886 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
30888 + move-result-object v1
30890 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
30892 + move-result-object v1
30894 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
30896 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30903 +.method public getConfigFile()Ljava/lang/String;
30910 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30912 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
30914 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30916 + move-result-object v1
30918 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30922 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30924 + move-result-object v7
30926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30928 + if-eqz v0, :cond_31
30930 + if-eqz v7, :cond_31
30932 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
30936 + if-eqz v0, :cond_31
30938 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30940 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
30942 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30944 + move-result-object v1
30948 + const-string/jumbo v4, "wifiInfo"
30950 + move-object v6, v5
30952 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30954 + const-string v0, ""
30960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30962 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
30964 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30966 + move-result-object v1
30970 + const-string/jumbo v4, "wifiInfo"
30972 + move-object v6, v5
30974 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30976 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfigFile()Ljava/lang/String;
30978 + move-result-object v0
30983 +.method public getConfiguredNetworks()Ljava/util/List;
30985 + .annotation system Ldalvik/annotation/Signature;
30988 + "Ljava/util/List",
30990 + "Landroid/net/wifi/WifiConfiguration;",
30999 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31001 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31003 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31005 + move-result-object v1
31007 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31011 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31013 + move-result-object v8
31015 + new-instance v7, Ljava/util/ArrayList;
31017 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31019 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31021 + if-eqz v0, :cond_34
31023 + if-eqz v8, :cond_34
31025 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31029 + if-eqz v0, :cond_34
31031 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31033 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31035 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31037 + move-result-object v1
31041 + const-string/jumbo v4, "wifiInfo"
31043 + move-object v6, v5
31045 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31051 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31053 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31055 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31057 + move-result-object v1
31061 + const-string/jumbo v4, "wifiInfo"
31063 + move-object v6, v5
31065 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31067 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
31069 + move-result-object v7
31074 +.method public getConnectionInfo()Landroid/net/wifi/WifiInfo;
31083 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31085 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31087 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31089 + move-result-object v1
31091 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31095 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31097 + move-result-object v8
31099 + new-instance v7, Landroid/net/wifi/WifiInfo;
31101 + invoke-direct {v7, v3}, Landroid/net/wifi/WifiInfo;-><init>(Z)V
31103 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31105 + if-eqz v0, :cond_34
31107 + if-eqz v8, :cond_34
31109 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31113 + if-eqz v0, :cond_34
31115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31117 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31119 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31121 + move-result-object v1
31123 + const-string/jumbo v4, "wifiInfo"
31125 + move-object v6, v5
31127 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31133 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31135 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31137 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31139 + move-result-object v1
31143 + const-string/jumbo v4, "wifiInfo"
31145 + move-object v6, v5
31147 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31149 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
31151 + move-result-object v7
31156 +.method public getDhcpInfo()Landroid/net/DhcpInfo;
31163 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31165 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31167 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31169 + move-result-object v1
31171 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31175 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31177 + move-result-object v7
31179 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31181 + if-eqz v0, :cond_34
31183 + if-eqz v7, :cond_34
31185 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31189 + if-eqz v0, :cond_34
31191 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31193 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31195 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31197 + move-result-object v1
31201 + const-string/jumbo v4, "wifiInfo"
31203 + move-object v6, v5
31205 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31207 + new-instance v0, Landroid/net/DhcpInfo;
31209 + invoke-direct {v0}, Landroid/net/DhcpInfo;-><init>()V
31215 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31217 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31219 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31221 + move-result-object v1
31225 + const-string/jumbo v4, "wifiInfo"
31227 + move-object v6, v5
31229 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31231 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
31233 + move-result-object v0
31238 +.method public getFrequencyBand()I
31245 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31247 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31249 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31251 + move-result-object v1
31253 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31257 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31259 + move-result-object v7
31261 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31263 + if-eqz v0, :cond_2f
31265 + if-eqz v7, :cond_2f
31267 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31271 + if-eqz v0, :cond_2f
31273 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31275 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31277 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31279 + move-result-object v1
31283 + const-string/jumbo v4, "wifiInfo"
31285 + move-object v6, v5
31287 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31295 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31297 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31299 + move-result-object v1
31303 + const-string/jumbo v4, "wifiInfo"
31305 + move-object v6, v5
31307 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31309 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getFrequencyBand()I
31316 +.method public getScanResults()Ljava/util/List;
31318 + .annotation system Ldalvik/annotation/Signature;
31321 + "Ljava/util/List",
31323 + "Landroid/net/wifi/ScanResult;",
31332 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31334 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31336 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31338 + move-result-object v1
31340 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31344 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31346 + move-result-object v8
31348 + new-instance v7, Ljava/util/ArrayList;
31350 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
31352 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31354 + if-eqz v0, :cond_34
31356 + if-eqz v8, :cond_34
31358 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31362 + if-eqz v0, :cond_34
31364 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31366 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31368 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31370 + move-result-object v1
31374 + const-string/jumbo v4, "wifiInfo"
31376 + move-object v6, v5
31378 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31384 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31386 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31388 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31390 + move-result-object v1
31394 + const-string/jumbo v4, "wifiInfo"
31396 + move-object v6, v5
31398 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31400 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
31402 + move-result-object v7
31407 +.method public getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
31414 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31416 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31418 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31420 + move-result-object v1
31422 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31426 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31428 + move-result-object v7
31430 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31432 + if-eqz v0, :cond_34
31434 + if-eqz v7, :cond_34
31436 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31440 + if-eqz v0, :cond_34
31442 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31444 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31446 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31448 + move-result-object v1
31452 + const-string/jumbo v4, "wifiInfo"
31454 + move-object v6, v5
31456 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31458 + new-instance v0, Landroid/net/wifi/WifiConfiguration;
31460 + invoke-direct {v0}, Landroid/net/wifi/WifiConfiguration;-><init>()V
31466 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31468 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31470 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31472 + move-result-object v1
31476 + const-string/jumbo v4, "wifiInfo"
31478 + move-object v6, v5
31480 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31482 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
31484 + move-result-object v0
31489 +.method public getWifiState()I
31498 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31500 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31502 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31504 + move-result-object v1
31506 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31510 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31512 + move-result-object v7
31514 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31516 + if-eqz v0, :cond_30
31518 + if-eqz v7, :cond_30
31520 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
31524 + if-nez v0, :cond_30
31526 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31528 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31530 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31532 + move-result-object v1
31534 + const-string/jumbo v4, "wifiInfo"
31536 + move-object v6, v5
31538 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31546 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31548 + if-eqz v0, :cond_4d
31550 + if-eqz v7, :cond_4d
31552 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31556 + if-eqz v0, :cond_4d
31558 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31560 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31562 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31564 + move-result-object v1
31566 + const-string/jumbo v4, "wifiInfo"
31568 + move-object v6, v5
31570 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31577 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31579 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31581 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31583 + move-result-object v1
31587 + const-string/jumbo v4, "wifiInfo"
31589 + move-object v6, v5
31591 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31593 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiState()I
31600 +.method public isWifiEnabled()Z
31611 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31613 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31615 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31617 + move-result-object v1
31619 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31623 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31625 + move-result-object v7
31627 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31629 + if-eqz v0, :cond_30
31631 + if-eqz v7, :cond_30
31633 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
31637 + if-nez v0, :cond_30
31639 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31641 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31643 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31645 + move-result-object v1
31647 + const-string/jumbo v4, "wifiInfo"
31649 + move-object v6, v5
31651 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31659 + if-eqz v0, :cond_4d
31661 + if-eqz v7, :cond_4d
31663 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31667 + if-eqz v0, :cond_4d
31669 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31671 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31673 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31675 + move-result-object v1
31677 + const-string/jumbo v4, "wifiInfo"
31679 + move-object v6, v5
31681 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31688 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31690 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31692 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31694 + move-result-object v1
31696 + const-string/jumbo v4, "wifiInfo"
31700 + move-object v6, v5
31702 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31704 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->isWifiEnabled()Z
31711 +.method public setWifiEnabled(Z)Z
31720 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31722 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31724 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31726 + move-result-object v1
31728 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31732 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31734 + move-result-object v7
31736 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31738 + if-eqz v0, :cond_31
31740 + if-eqz v7, :cond_31
31742 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
31746 + if-eqz v0, :cond_31
31748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31750 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31752 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31754 + move-result-object v1
31758 + const-string/jumbo v4, "switchWifiState"
31760 + move-object v6, v5
31762 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31772 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31774 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31776 + move-result-object v1
31778 + const-string/jumbo v4, "switchWifiState"
31782 + move-object v6, v5
31784 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31786 + invoke-super {p0, p1}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
31793 +.method public startScan()Z
31802 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31804 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31806 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31808 + move-result-object v1
31810 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31814 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31816 + move-result-object v7
31818 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31820 + if-eqz v0, :cond_31
31822 + if-eqz v7, :cond_31
31824 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31828 + if-eqz v0, :cond_31
31830 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31832 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31834 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31836 + move-result-object v1
31840 + const-string/jumbo v4, "wifiInfo"
31842 + move-object v6, v5
31844 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31852 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31854 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31856 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31858 + move-result-object v1
31860 + const-string/jumbo v4, "wifiInfo"
31864 + move-object v6, v5
31866 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31868 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScan()Z
31875 +.method public startScanActive()Z
31884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31886 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31888 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31890 + move-result-object v1
31892 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31896 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31898 + move-result-object v7
31900 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31902 + if-eqz v0, :cond_31
31904 + if-eqz v7, :cond_31
31906 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
31910 + if-eqz v0, :cond_31
31912 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31914 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31916 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31918 + move-result-object v1
31922 + const-string/jumbo v4, "wifiInfo"
31924 + move-object v6, v5
31926 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31936 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
31938 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31940 + move-result-object v1
31942 + const-string/jumbo v4, "wifiInfo"
31946 + move-object v6, v5
31948 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31950 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScanActive()Z
31956 diff -Npru stock-framework/smali/android/provider/Settings$Secure.smali opd-framework/smali/android/provider/Settings$Secure.smali
31957 --- stock-framework/smali/android/provider/Settings$Secure.smali 2013-01-21 12:55:59.356808226 -0600
31958 +++ opd-framework/smali/android/provider/Settings$Secure.smali 2013-01-20 23:05:45.975696625 -0600
31959 @@ -202,6 +202,8 @@
31961 .field public static final PREFERRED_TTY_MODE:Ljava/lang/String; = "preferred_tty_mode"
31963 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,SecureSettings"
31965 .field public static final SCREENSAVER_ACTIVATE_ON_DOCK:Ljava/lang/String; = "screensaver_activate_on_dock"
31967 .field public static final SCREENSAVER_ACTIVATE_ON_SLEEP:Ljava/lang/String; = "screensaver_activate_on_sleep"
31968 @@ -413,6 +415,14 @@
31970 .field public static final WIMAX_ON:Ljava/lang/String; = "wimax_on"
31972 +.field private static context:Landroid/content/Context;
31974 +.field private static mPm:Landroid/content/pm/IPackageManager;
31976 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
31978 +.field private static privacyMode:Z
31980 .field private static sIsSystemProcess:Z
31982 .field private static sLockSettings:Lcom/android/internal/widget/ILockSettings;
31983 @@ -422,9 +432,11 @@
31986 .method static constructor <clinit>()V
31995 const-string v0, "content://settings/secure"
31997 @@ -454,7 +466,7 @@
31999 new-instance v0, Ljava/util/HashSet;
32001 - invoke-direct {v0, v5}, Ljava/util/HashSet;-><init>(I)V
32002 + invoke-direct {v0, v6}, Ljava/util/HashSet;-><init>(I)V
32004 sput-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32006 @@ -1202,15 +1214,15 @@
32008 invoke-virtual {v0, v1}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z
32010 + sput-boolean v5, Landroid/provider/Settings$Secure;->privacyMode:Z
32014 new-array v0, v0, [Ljava/lang/String;
32018 - const-string v2, "bugreport_in_power_menu"
32019 + const-string v1, "bugreport_in_power_menu"
32021 - aput-object v2, v0, v1
32022 + aput-object v1, v0, v5
32026 @@ -1226,7 +1238,7 @@
32028 const-string/jumbo v1, "parental_control_redirect_url"
32030 - aput-object v1, v0, v5
32031 + aput-object v1, v0, v6
32035 @@ -1719,6 +1731,70 @@
32039 +.method private static getPackageName()[Ljava/lang/String;
32043 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32045 + if-eqz v3, :cond_f
32047 + invoke-static {}, Landroid/os/Process;->myUid()I
32051 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32053 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32055 + move-result-object v1
32061 + const-string/jumbo v3, "package"
32063 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32065 + move-result-object v3
32067 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32069 + move-result-object v3
32071 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32073 + invoke-static {}, Landroid/os/Process;->myUid()I
32077 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32079 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32081 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
32083 + move-result-object v1
32088 + move-exception v0
32090 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32092 + const-string v3, "PM,SecureSettings"
32094 + const-string/jumbo v4, "something went wrong with getting package name"
32096 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32103 .method public static getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
32106 @@ -1734,152 +1810,392 @@
32109 .method public static getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32113 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32114 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_GLOBAL:Ljava/util/HashSet;
32116 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32117 + move-object/from16 v0, p1
32120 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32122 - if-eqz v0, :cond_31
32125 - const-string v0, "Settings"
32126 + if-eqz v3, :cond_35
32128 - new-instance v1, Ljava/lang/StringBuilder;
32129 + const-string v3, "Settings"
32131 - invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32132 + new-instance v4, Ljava/lang/StringBuilder;
32134 - const-string v2, "Setting "
32135 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
32137 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32138 + const-string v5, "Setting "
32140 - move-result-object v1
32141 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32143 - invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32144 + move-result-object v4
32146 - move-result-object v1
32147 + move-object/from16 v0, p1
32149 - const-string v2, " has moved from android.provider.Settings.Secure"
32150 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32152 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32153 + move-result-object v4
32155 - move-result-object v1
32156 + const-string v5, " has moved from android.provider.Settings.Secure"
32158 - const-string v2, " to android.provider.Settings.Global."
32159 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32161 - invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32162 + move-result-object v4
32164 - move-result-object v1
32165 + const-string v5, " to android.provider.Settings.Global."
32167 - invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32168 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32170 - move-result-object v1
32171 + move-result-object v4
32173 - invoke-static {v0, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32174 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32176 - invoke-static {p0, p1, p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32177 + move-result-object v4
32179 - move-result-object v0
32180 + invoke-static {v3, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
32184 + invoke-static/range {p0 .. p2}, Landroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32187 - sget-object v0, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32188 + move-result-object v8
32190 - invoke-virtual {v0, p1}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32196 + sget-object v3, Landroid/provider/Settings$Secure;->MOVED_TO_LOCK_SETTINGS:Ljava/util/HashSet;
32198 - if-eqz v0, :cond_6f
32199 + move-object/from16 v0, p1
32201 - const-class v1, Landroid/provider/Settings$Secure;
32202 + invoke-virtual {v3, v0}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z
32208 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32209 + if-eqz v3, :cond_79
32211 - if-nez v0, :cond_57
32212 + const-class v4, Landroid/provider/Settings$Secure;
32214 - const-string v0, "lock_settings"
32217 - invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32219 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32221 - move-result-object v0
32222 + if-nez v3, :cond_5d
32224 - invoke-static {v0}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32225 + const-string v3, "lock_settings"
32227 - move-result-object v0
32228 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32230 - sput-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32231 + move-result-object v3
32233 + invoke-static {v3}, Lcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
32235 + move-result-object v3
32237 + sput-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32239 invoke-static {}, Landroid/os/Process;->myUid()I
32244 - const/16 v2, 0x3e8
32245 + const/16 v5, 0x3e8
32247 - if-ne v0, v2, :cond_69
32248 + if-ne v3, v5, :cond_73
32254 - sput-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32256 + sput-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32261 - .catchall {:try_start_3c .. :try_end_58} :catchall_6b
32265 + .catchall {:try_start_42 .. :try_end_5e} :catchall_75
32267 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32268 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32270 - if-eqz v0, :cond_6f
32271 + if-eqz v3, :cond_79
32273 - sget-boolean v0, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32274 + sget-boolean v3, Landroid/provider/Settings$Secure;->sIsSystemProcess:Z
32276 - if-nez v0, :cond_6f
32277 + if-nez v3, :cond_79
32280 - sget-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32282 + sget-object v3, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
32284 - const-string v1, "0"
32285 + const-string v4, "0"
32287 - invoke-interface {v0, p1, v1, p2}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32289 - .catch Landroid/os/RemoteException; {:try_start_60 .. :try_end_67} :catch_6e
32290 + move-object/from16 v0, p1
32292 - move-result-object v0
32293 + move/from16 v1, p2
32296 + invoke-interface {v3, v0, v4, v1}, Lcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
32298 + .catch Landroid/os/RemoteException; {:try_start_66 .. :try_end_71} :catch_78
32302 + move-result-object v8
32308 - move-exception v0
32315 - .catchall {:try_start_6c .. :try_end_6d} :catchall_6b
32320 + move-exception v3
32323 - move-exception v0
32327 + .catchall {:try_start_76 .. :try_end_77} :catchall_75
32330 - sget-object v0, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32333 - invoke-virtual {v0, p0, p1, p2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32335 + move-exception v3
32337 - move-result-object v0
32339 + const-string v3, "android_id"
32341 + move-object/from16 v0, p1
32343 + invoke-virtual {v0, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32347 + if-eqz v3, :cond_f7
32349 + invoke-static {}, Landroid/provider/Settings$Secure;->initiate()V
32352 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32354 + if-nez v3, :cond_9e
32356 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
32358 + sget-object v4, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32360 + const-string/jumbo v5, "privacy"
32362 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32364 + move-result-object v5
32366 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32368 + move-result-object v5
32370 + invoke-direct {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32372 + sput-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32375 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32377 + if-nez v3, :cond_af
32379 + const-string/jumbo v3, "package"
32381 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32383 + move-result-object v3
32385 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32387 + move-result-object v3
32389 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32392 + const/16 v19, 0x0
32394 + invoke-static {}, Landroid/provider/Settings$Secure;->getPackageName()[Ljava/lang/String;
32396 + move-result-object v18
32398 + if-eqz v18, :cond_13c
32400 + move-object/from16 v0, v18
32402 + array-length v3, v0
32404 + if-lez v3, :cond_13c
32407 + const/16 v17, 0x0
32410 + move-object/from16 v0, v18
32412 + array-length v3, v0
32414 + move/from16 v0, v17
32416 + if-ge v0, v3, :cond_f7
32418 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32420 + aget-object v4, v18, v17
32422 + invoke-virtual {v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
32424 + move-result-object v19
32426 + if-eqz v19, :cond_11c
32428 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32432 + if-eqz v3, :cond_11c
32434 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
32436 + move-result-object v8
32438 + if-eqz v8, :cond_105
32440 + sget-object v3, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32442 + aget-object v4, v18, v17
32446 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32450 + const-string v7, "android_id"
32454 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32456 + .catch Ljava/lang/Exception; {:try_start_86 .. :try_end_ea} :catch_ec
32461 + move-exception v16
32463 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Exception;->printStackTrace()V
32465 + const-string v3, "PM,SecureSettings"
32467 + const-string v4, "Got exception in getString()"
32469 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32473 + sget-object v3, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
32475 + move-object/from16 v0, p0
32477 + move-object/from16 v1, p1
32479 + move/from16 v2, p2
32481 + invoke-virtual {v3, v0, v1, v2}, Landroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
32483 + move-result-object v8
32489 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32491 + aget-object v10, v18, v17
32495 + invoke-virtual/range {v19 .. v19}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
32499 + const-string v13, "android_id"
32501 + const-string/jumbo v14, "q4a5w896ay21dr46"
32505 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32507 + const-string/jumbo v8, "q4a5w896ay21dr46"
32512 + move-object/from16 v0, v18
32514 + array-length v3, v0
32516 + add-int/lit8 v3, v3, -0x1
32518 + move/from16 v0, v17
32520 + if-ne v0, v3, :cond_137
32522 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32524 + move-object/from16 v0, v18
32526 + array-length v3, v0
32528 + add-int/lit8 v3, v3, -0x1
32530 + aget-object v10, v18, v3
32536 + const-string v13, "android_id"
32542 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32545 + const/16 v19, 0x0
32547 + add-int/lit8 v17, v17, 0x1
32552 + sget-object v9, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32554 + move-object/from16 v0, v18
32556 + array-length v3, v0
32558 + add-int/lit8 v3, v3, -0x1
32560 + aget-object v10, v18, v3
32566 + const-string v13, "android_id"
32572 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32574 + .catch Ljava/lang/Exception; {:try_start_105 .. :try_end_14e} :catch_ec
32579 .method public static getUriFor(Ljava/lang/String;)Landroid/net/Uri;
32580 @@ -1946,6 +2262,71 @@
32584 +.method private static initiate()V
32590 + sput-object v1, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32592 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
32594 + sget-object v2, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
32596 + const-string/jumbo v3, "privacy"
32598 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32600 + move-result-object v3
32602 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32604 + move-result-object v3
32606 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32608 + sput-object v1, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32610 + const-string/jumbo v1, "package"
32612 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32614 + move-result-object v1
32616 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32618 + move-result-object v1
32620 + sput-object v1, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
32624 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
32626 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
32632 + move-exception v0
32634 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32636 + const-string v1, "PM,SecureSettings"
32638 + const-string v2, "Something went wrong with initalize variables"
32640 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32644 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
32649 .method public static final isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
32652 diff -Npru stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali opd-framework/smali/android/speech/srec/MicrophoneInputStream.smali
32653 --- stock-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-01-21 12:55:59.420775420 -0600
32654 +++ opd-framework/smali/android/speech/srec/MicrophoneInputStream.smali 2013-01-20 23:05:46.063695518 -0600
32659 +.field private static final GOT_ERROR:I = -0x3
32661 +.field private static final IS_ALLOWED:I = -0x1
32663 +.field private static final IS_NOT_ALLOWED:I = -0x2
32665 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MicrophoneInputStream"
32667 .field private static final TAG:Ljava/lang/String; = "MicrophoneInputStream"
32671 +.field private context:Landroid/content/Context;
32673 .field private mAudioRecord:I
32675 .field private mOneByte:[B
32677 +.field private mPm:Landroid/content/pm/IPackageManager;
32679 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
32681 +.field private privacyMode:Z
32685 .method static constructor <clinit>()V
32686 @@ -25,79 +41,167 @@
32689 .method public constructor <init>(II)V
32692 .annotation system Ldalvik/annotation/Throws;
32694 Ljava/io/IOException;
32704 invoke-direct {p0}, Ljava/io/InputStream;-><init>()V
32707 + iput-boolean v2, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
32709 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32710 + iput v2, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32713 + new-array v0, v3, [B
32715 - new-array v1, v1, [B
32716 + iput-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
32718 - iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mOneByte:[B
32719 + iget-boolean v0, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
32721 - invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
32722 + if-nez v0, :cond_15
32724 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->initiate()V
32727 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->checkIfPackagesAllowed()I
32733 + if-ne v0, v1, :cond_43
32735 + invoke-direct {p0, v2}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
32737 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
32739 + move-result-object v7
32741 + if-eqz v7, :cond_3b
32743 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32745 + aget-object v1, v7, v2
32747 + const-string/jumbo v4, "recordAudio"
32750 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32752 - iput v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32753 + aget-object v9, v7, v2
32755 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32756 + invoke-static {}, Landroid/os/Process;->myUid()I
32758 - if-nez v1, :cond_1d
32761 - new-instance v1, Ljava/io/IOException;
32762 + invoke-virtual {v6, v9, v10}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32764 - const-string v2, "AudioRecord constructor failed - busy?"
32765 + move-result-object v6
32767 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32768 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32772 + new-instance v0, Ljava/io/IOException;
32775 - iget v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32776 + const-string v1, "AudioRecord constructor failed - busy?"
32778 - invoke-static {v1}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
32779 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32784 + invoke-direct {p0, v3}, Landroid/speech/srec/MicrophoneInputStream;->dataAccess(Z)V
32786 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
32788 + move-result-object v7
32790 + if-eqz v7, :cond_63
32792 + iget-object v0, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32794 + aget-object v1, v7, v2
32796 + const-string/jumbo v4, "recordAudio"
32798 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32800 + aget-object v6, v7, v2
32802 + invoke-static {}, Landroid/os/Process;->myUid()I
32806 + invoke-virtual {v3, v6, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32808 + move-result-object v6
32812 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32815 + invoke-static {p1, p2}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordNew(II)I
32819 - if-eqz v0, :cond_41
32820 + iput v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32822 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32824 + if-nez v0, :cond_75
32826 + new-instance v0, Ljava/io/IOException;
32828 + const-string v1, "AudioRecord constructor failed - busy?"
32830 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32835 + iget v0, p0, Landroid/speech/srec/MicrophoneInputStream;->mAudioRecord:I
32837 + invoke-static {v0}, Landroid/speech/srec/MicrophoneInputStream;->AudioRecordStart(I)I
32841 + if-eqz v8, :cond_99
32843 invoke-virtual {p0}, Landroid/speech/srec/MicrophoneInputStream;->close()V
32845 - new-instance v1, Ljava/io/IOException;
32846 + new-instance v0, Ljava/io/IOException;
32848 - new-instance v2, Ljava/lang/StringBuilder;
32849 + new-instance v1, Ljava/lang/StringBuilder;
32851 - invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
32852 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32854 - const-string v3, "AudioRecord start failed: "
32855 + const-string v2, "AudioRecord start failed: "
32857 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32858 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32860 - move-result-object v2
32861 + move-result-object v1
32863 - invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
32864 + invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
32866 - move-result-object v2
32867 + move-result-object v1
32869 - invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32870 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32872 - move-result-object v2
32873 + move-result-object v1
32875 - invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32876 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
32886 @@ -131,6 +235,334 @@
32890 +.method private checkIfPackagesAllowed()I
32896 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32898 + if-eqz v6, :cond_41
32902 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
32904 + move-result-object v3
32906 + invoke-static {}, Landroid/os/Process;->myUid()I
32910 + if-eqz v3, :cond_2c
32915 + array-length v6, v3
32917 + if-ge v1, v6, :cond_2a
32919 + iget-object v6, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32921 + aget-object v7, v3, v1
32923 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32925 + move-result-object v2
32927 + if-eqz v2, :cond_26
32929 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
32933 + if-eqz v6, :cond_26
32943 + add-int/lit8 v1, v1, 0x1
32953 + const-string v6, "PM,MicrophoneInputStream"
32955 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
32957 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32959 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
32964 + move-exception v0
32966 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32968 + const-string v6, "PM,MicrophoneInputStream"
32970 + const-string v7, "Got exception in checkIfPackagesAllowed"
32972 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32978 + const-string v6, "PM,MicrophoneInputStream"
32980 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
32982 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32984 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
32989 +.method private dataAccess(Z)V
32992 + invoke-direct {p0}, Landroid/speech/srec/MicrophoneInputStream;->getPackageName()[Ljava/lang/String;
32994 + move-result-object v1
32996 + if-eqz p1, :cond_2f
32998 + if-eqz v1, :cond_2f
33003 + array-length v2, v1
33005 + if-ge v0, v2, :cond_58
33007 + const-string v2, "PM,MicrophoneInputStream"
33009 + new-instance v3, Ljava/lang/StringBuilder;
33011 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33013 + const-string v4, "Allowed Package: -"
33015 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33017 + move-result-object v3
33019 + aget-object v4, v1, v0
33021 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33023 + move-result-object v3
33025 + const-string v4, "- accessing microphone."
33027 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33029 + move-result-object v3
33031 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33033 + move-result-object v3
33035 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33037 + add-int/lit8 v0, v0, 0x1
33042 + if-eqz v1, :cond_58
33047 + array-length v2, v1
33049 + if-ge v0, v2, :cond_58
33051 + const-string v2, "PM,MicrophoneInputStream"
33053 + new-instance v3, Ljava/lang/StringBuilder;
33055 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
33057 + const-string v4, "Blocked Package: -"
33059 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33061 + move-result-object v3
33063 + aget-object v4, v1, v0
33065 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33067 + move-result-object v3
33069 + const-string v4, "- accessing microphone."
33071 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33073 + move-result-object v3
33075 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33077 + move-result-object v3
33079 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33081 + add-int/lit8 v0, v0, 0x1
33089 +.method private getPackageName()[Ljava/lang/String;
33093 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33095 + if-eqz v3, :cond_f
33097 + invoke-static {}, Landroid/os/Process;->myUid()I
33101 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33103 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33105 + move-result-object v1
33111 + const-string/jumbo v3, "package"
33113 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33115 + move-result-object v3
33117 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33119 + move-result-object v3
33121 + iput-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33123 + invoke-static {}, Landroid/os/Process;->myUid()I
33127 + iget-object v3, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33129 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
33131 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
33133 + move-result-object v1
33138 + move-exception v0
33140 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33142 + const-string v3, "PM,MicrophoneInputStream"
33144 + const-string/jumbo v4, "something went wrong with getting package name"
33146 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33153 +.method private initiate()V
33159 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33161 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
33163 + iget-object v2, p0, Landroid/speech/srec/MicrophoneInputStream;->context:Landroid/content/Context;
33165 + const-string/jumbo v3, "privacy"
33167 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33169 + move-result-object v3
33171 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
33173 + move-result-object v3
33175 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
33177 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33179 + const-string/jumbo v1, "package"
33181 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
33183 + move-result-object v1
33185 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
33187 + move-result-object v1
33189 + iput-object v1, p0, Landroid/speech/srec/MicrophoneInputStream;->mPm:Landroid/content/pm/IPackageManager;
33193 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33195 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
33201 + move-exception v0
33203 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
33205 + const-string v1, "PM,MicrophoneInputStream"
33207 + const-string v2, "Something went wrong with initalize variables"
33209 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
33213 + iput-boolean v1, p0, Landroid/speech/srec/MicrophoneInputStream;->privacyMode:Z
33220 .method public close()V
33221 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali opd-framework/smali/android/telephony/PhoneStateListener$1.smali
33222 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-01-21 12:55:59.452759019 -0600
33223 +++ opd-framework/smali/android/telephony/PhoneStateListener$1.smali 2013-01-20 23:05:46.099695066 -0600
33224 @@ -64,23 +64,196 @@
33227 .method public onCallStateChanged(ILjava/lang/String;)V
33231 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33232 + move-object/from16 v0, p0
33234 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33235 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33237 - const/16 v1, 0x20
33238 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33239 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33242 + move-result-object v3
33244 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33245 + if-eqz v3, :cond_99
33247 - move-result-object v0
33248 + if-eqz p2, :cond_99
33250 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
33251 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
33255 + if-nez v3, :cond_99
33257 + move-object/from16 v0, p0
33259 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33261 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33262 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33264 + move-result-object v3
33266 + const-string/jumbo v4, "privacy"
33268 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33270 + move-result-object v2
33272 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
33274 + move-object/from16 v0, p0
33276 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33278 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33279 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33281 + move-result-object v3
33283 + move-object/from16 v0, p0
33285 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33287 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33288 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33292 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33294 + move-result-object v8
33296 + if-eqz v8, :cond_6a
33298 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
33302 + if-eqz v3, :cond_6a
33304 + const-string v7, ""
33306 + move-object/from16 v0, p0
33308 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33310 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33312 + const/16 v4, 0x20
33316 + move/from16 v0, p1
33318 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33320 + move-result-object v3
33322 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33324 + move-object/from16 v0, p0
33326 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33328 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33329 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33331 + move-result-object v3
33333 + move-object/from16 v0, p0
33335 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33337 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33338 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33344 + const-string v6, "incomingCall"
33346 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33352 + move-object/from16 v0, p0
33354 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33356 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33358 + const/16 v4, 0x20
33362 + move/from16 v0, p1
33364 + move-object/from16 v1, p2
33366 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33368 + move-result-object v3
33370 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33372 + move-object/from16 v0, p0
33374 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33376 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33377 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33379 + move-result-object v10
33381 + move-object/from16 v0, p0
33383 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33385 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33386 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33392 + const-string v13, "incomingCall"
33394 + move-object v9, v2
33396 + move-object/from16 v14, p2
33398 + move-object v15, v8
33400 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33405 + move-object/from16 v0, p0
33407 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33409 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33411 + const/16 v4, 0x20
33415 + move/from16 v0, p1
33417 + move-object/from16 v1, p2
33419 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33421 + move-result-object v3
33423 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
33428 .method public onCellInfoChanged(Ljava/util/List;)V
33429 @@ -113,27 +286,124 @@
33432 .method public onCellLocationChanged(Landroid/os/Bundle;)V
33440 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
33442 + move-result-object v7
33444 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33446 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33447 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33449 + move-result-object v1
33451 + if-eqz v1, :cond_4a
33453 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33455 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33456 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33458 + move-result-object v1
33460 + const-string/jumbo v2, "privacy"
33462 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
33464 move-result-object v0
33466 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
33468 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33470 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33471 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33473 + move-result-object v1
33475 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33477 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33478 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33482 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33484 + move-result-object v6
33486 + if-eqz v6, :cond_4b
33488 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33492 + if-eqz v1, :cond_4b
33494 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33496 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33497 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33499 + move-result-object v1
33501 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33503 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33504 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33508 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33512 + const-string v4, "locationNetwork"
33514 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33521 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33523 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
33527 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33528 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
33530 move-result-object v1
33532 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
33535 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33537 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33538 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33540 + move-result-object v1
33542 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
33544 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
33545 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
33549 + const-string v4, "locationNetwork"
33551 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33556 .method public onDataActivity(I)V
33557 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali opd-framework/smali/android/telephony/PhoneStateListener.smali
33558 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2013-01-21 12:55:58.085460215 -0600
33559 +++ opd-framework/smali/android/telephony/PhoneStateListener.smali 2013-01-20 23:05:45.255705675 -0600
33560 @@ -31,12 +31,20 @@
33562 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
33564 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
33568 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
33570 +.field private context:Landroid/content/Context;
33572 .field mHandler:Landroid/os/Handler;
33574 +.field private packageName:Ljava/lang/String;
33576 +.field private uid:I
33580 .method public constructor <init>()V
33585 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
33588 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33593 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
33596 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33601 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
33604 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
33611 .method public onCallForwardingIndicatorChanged(Z)V
33612 @@ -143,3 +175,27 @@
33617 +.method public setContext(Landroid/content/Context;)V
33620 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
33625 +.method public setPackageName(Ljava/lang/String;)V
33628 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
33633 +.method public setUid(I)V
33636 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
33640 diff -Npru stock-framework/smali/android/telephony/ServiceState.smali opd-framework/smali/android/telephony/ServiceState.smali
33641 --- stock-framework/smali/android/telephony/ServiceState.smali 2013-01-21 12:55:59.452759019 -0600
33642 +++ opd-framework/smali/android/telephony/ServiceState.smali 2013-01-20 23:05:46.103695016 -0600
33643 @@ -668,48 +668,6 @@
33647 -.method private setNullState(I)V
33656 - iput p1, p0, Landroid/telephony/ServiceState;->mState:I
33658 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
33660 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
33662 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
33664 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
33666 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
33668 - iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
33670 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
33672 - iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
33674 - iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
33676 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
33678 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
33680 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
33682 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
33684 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
33691 .method protected copyFrom(Landroid/telephony/ServiceState;)V
33692 @@ -1511,6 +1469,48 @@
33696 +.method setNullState(I)V
33705 + iput p1, p0, Landroid/telephony/ServiceState;->mState:I
33707 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
33709 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
33711 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
33713 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
33715 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
33717 + iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
33719 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
33721 + iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
33723 + iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
33725 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
33727 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
33729 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
33731 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
33733 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
33738 .method public setOperatorAlphaLong(Ljava/lang/String;)V
33741 @@ -1560,7 +1560,7 @@
33745 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33746 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33750 @@ -1570,7 +1570,7 @@
33754 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
33755 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V