Merge branch 'master' of https://github.com/mateor/auto-patcher
[auto-patcher.git] / patches / pd2.0 / 4.1 / aosp-ever / 20121103 / framework.patch
blob15d69c24eb80fb308fc3cb2ed78bea9546ae2ce6
1 diff -Npru stock-framework/smali/android/app/ContextImpl$20.smali ext-framework/smali/android/app/ContextImpl$20.smali
2 --- stock-framework/smali/android/app/ContextImpl$20.smali 2012-11-08 09:12:14.026928412 -0600
3 +++ ext-framework/smali/android/app/ContextImpl$20.smali 2012-11-08 09:11:53.578827014 -0600
4 @@ -26,7 +26,7 @@
6 # virtual methods
7 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
8 - .registers 5
9 + .registers 6
11 const-string v1, "location"
13 @@ -34,13 +34,17 @@
15 move-result-object v0
17 - new-instance v1, Landroid/location/LocationManager;
18 + new-instance v1, Landroid/privacy/surrogate/PrivacyLocationManager;
20 invoke-static {v0}, Landroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
22 move-result-object v2
24 - invoke-direct {v1, p1, v2}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
25 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
27 + move-result-object v3
29 + invoke-direct {v1, v2, v3}, Landroid/privacy/surrogate/PrivacyLocationManager;-><init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
31 return-object v1
32 .end method
33 diff -Npru stock-framework/smali/android/app/ContextImpl$29.smali ext-framework/smali/android/app/ContextImpl$29.smali
34 --- stock-framework/smali/android/app/ContextImpl$29.smali 2012-11-08 09:12:14.038928478 -0600
35 +++ ext-framework/smali/android/app/ContextImpl$29.smali 2012-11-08 09:11:53.582827042 -0600
36 @@ -28,13 +28,13 @@
37 .method public createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
38 .registers 4
40 - new-instance v0, Landroid/telephony/TelephonyManager;
41 + new-instance v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;
43 invoke-virtual {p1}, Landroid/app/ContextImpl;->getOuterContext()Landroid/content/Context;
45 move-result-object v1
47 - invoke-direct {v0, v1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
48 + invoke-direct {v0, v1}, Landroid/privacy/surrogate/PrivacyTelephonyManager;-><init>(Landroid/content/Context;)V
50 return-object v0
51 .end method
52 diff -Npru stock-framework/smali/android/app/ContextImpl$35.smali ext-framework/smali/android/app/ContextImpl$35.smali
53 --- stock-framework/smali/android/app/ContextImpl$35.smali 2012-11-08 09:12:14.042928493 -0600
54 +++ ext-framework/smali/android/app/ContextImpl$35.smali 2012-11-08 09:11:53.598827120 -0600
55 @@ -38,7 +38,7 @@
57 move-result-object v1
59 - new-instance v2, Landroid/net/wifi/WifiManager;
60 + new-instance v2, Landroid/privacy/surrogate/PrivacyWifiManager;
62 iget-object v3, p1, Landroid/app/ContextImpl;->mMainThread:Landroid/app/ActivityThread;
64 @@ -46,7 +46,7 @@
66 move-result-object v3
68 - invoke-direct {v2, v1, v3}, Landroid/net/wifi/WifiManager;-><init>(Landroid/net/wifi/IWifiManager;Landroid/os/Handler;)V
69 + invoke-direct {v2, v1, v3, p1}, Landroid/privacy/surrogate/PrivacyWifiManager;-><init>(Landroid/net/wifi/IWifiManager;Landroid/os/Handler;Landroid/content/Context;)V
71 return-object v2
72 .end method
73 diff -Npru stock-framework/smali/android/app/ContextImpl$38.smali ext-framework/smali/android/app/ContextImpl$38.smali
74 --- stock-framework/smali/android/app/ContextImpl$38.smali 1969-12-31 18:00:00.000000000 -0600
75 +++ ext-framework/smali/android/app/ContextImpl$38.smali 2012-11-08 09:11:53.598827120 -0600
76 @@ -0,0 +1,50 @@
77 +.class final Landroid/app/ContextImpl$38;
78 +.super Landroid/app/ContextImpl$StaticServiceFetcher;
79 +.source "ContextImpl.java"
82 +# annotations
83 +.annotation system Ldalvik/annotation/EnclosingClass;
84 + value = Landroid/app/ContextImpl;
85 +.end annotation
87 +.annotation system Ldalvik/annotation/InnerClass;
88 + accessFlags = 0x8
89 + name = null
90 +.end annotation
93 +# direct methods
94 +.method constructor <init>()V
95 + .registers 1
97 + invoke-direct {p0}, Landroid/app/ContextImpl$StaticServiceFetcher;-><init>()V
99 + return-void
100 +.end method
103 +# virtual methods
104 +.method public createStaticService()Ljava/lang/Object;
105 + .registers 5
107 + const-string/jumbo v2, "privacy"
109 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
111 + move-result-object v0
113 + invoke-static {v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
115 + move-result-object v1
117 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
119 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
121 + move-result-object v3
123 + invoke-direct {v2, v3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
125 + return-object v2
126 +.end method
127 diff -Npru stock-framework/smali/android/app/ContextImpl$3.smali ext-framework/smali/android/app/ContextImpl$3.smali
128 --- stock-framework/smali/android/app/ContextImpl$3.smali 2012-11-08 09:12:14.042928493 -0600
129 +++ ext-framework/smali/android/app/ContextImpl$3.smali 2012-11-08 09:11:53.598827120 -0600
130 @@ -38,9 +38,9 @@
132 move-result-object v1
134 - new-instance v2, Landroid/accounts/AccountManager;
135 + new-instance v2, Landroid/privacy/surrogate/PrivacyAccountManager;
137 - invoke-direct {v2, p1, v1}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
138 + invoke-direct {v2, p1, v1}, Landroid/privacy/surrogate/PrivacyAccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
140 return-object v2
141 .end method
142 diff -Npru stock-framework/smali/android/app/ContextImpl$9.smali ext-framework/smali/android/app/ContextImpl$9.smali
143 --- stock-framework/smali/android/app/ContextImpl$9.smali 2012-11-08 09:12:14.054928557 -0600
144 +++ ext-framework/smali/android/app/ContextImpl$9.smali 2012-11-08 09:11:53.618827213 -0600
145 @@ -26,21 +26,25 @@
147 # virtual methods
148 .method public createStaticService()Ljava/lang/Object;
149 - .registers 4
150 + .registers 5
152 - const-string v1, "connectivity"
153 + const-string v2, "connectivity"
155 - invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
156 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
158 move-result-object v0
160 - new-instance v1, Landroid/net/ConnectivityManager;
162 invoke-static {v0}, Landroid/net/IConnectivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IConnectivityManager;
164 - move-result-object v2
165 + move-result-object v1
167 + new-instance v2, Landroid/privacy/surrogate/PrivacyConnectivityManager;
169 + invoke-static {}, Landroid/app/ContextImpl;->getStaticOuterContext()Landroid/content/Context;
171 + move-result-object v3
173 - invoke-direct {v1, v2}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
174 + invoke-direct {v2, v1, v3}, Landroid/privacy/surrogate/PrivacyConnectivityManager;-><init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
176 - return-object v1
177 + return-object v2
178 .end method
179 diff -Npru stock-framework/smali/android/app/ContextImpl.smali ext-framework/smali/android/app/ContextImpl.smali
180 --- stock-framework/smali/android/app/ContextImpl.smali 2012-11-08 09:12:14.114928855 -0600
181 +++ ext-framework/smali/android/app/ContextImpl.smali 2012-11-08 09:11:53.682827523 -0600
182 @@ -36,6 +36,8 @@
184 .field private static sNextPerContextServiceCacheIndex:I
186 +.field private static sOuterContext:Landroid/content/Context;
188 .field private static final sSharedPrefs:Ljava/util/HashMap;
189 .annotation system Ldalvik/annotation/Signature;
190 value = {
191 @@ -426,6 +428,14 @@
193 invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
195 + const-string/jumbo v0, "privacy"
197 + new-instance v1, Landroid/app/ContextImpl$38;
199 + invoke-direct {v1}, Landroid/app/ContextImpl$38;-><init>()V
201 + invoke-static {v0, v1}, Landroid/app/ContextImpl;->registerService(Ljava/lang/String;Landroid/app/ContextImpl$ServiceFetcher;)V
203 return-void
204 .end method
206 @@ -460,6 +470,8 @@
208 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
210 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
212 return-void
213 .end method
215 @@ -514,6 +526,8 @@
217 iput-object p0, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
219 + sput-object p0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
221 return-void
222 .end method
224 @@ -983,6 +997,14 @@
225 throw v0
226 .end method
228 +.method static final getStaticOuterContext()Landroid/content/Context;
229 + .registers 1
231 + sget-object v0, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
233 + return-object v0
234 +.end method
236 .method private getWallpaperManager()Landroid/app/WallpaperManager;
237 .registers 2
239 @@ -4256,6 +4278,8 @@
241 iput-object p1, p0, Landroid/app/ContextImpl;->mOuterContext:Landroid/content/Context;
243 + sput-object p1, Landroid/app/ContextImpl;->sOuterContext:Landroid/content/Context;
245 return-void
246 .end method
248 diff -Npru stock-framework/smali/android/app/Fragment.smali ext-framework/smali/android/app/Fragment.smali
249 --- stock-framework/smali/android/app/Fragment.smali 2012-11-08 09:12:14.138928959 -0600
250 +++ ext-framework/smali/android/app/Fragment.smali 2012-11-08 09:11:53.702827627 -0600
251 @@ -359,7 +359,7 @@
253 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
255 - const-string v0, "mFragmentId=#"
256 + const-string/jumbo v0, "mFragmentId=#"
258 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
260 @@ -469,7 +469,7 @@
262 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
264 - const-string v0, "mHidden="
265 + const-string/jumbo v0, "mHidden="
267 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
269 @@ -529,11 +529,11 @@
271 iget-object v0, p0, Landroid/app/Fragment;->mFragmentManager:Landroid/app/FragmentManagerImpl;
273 - if-eqz v0, :cond_e8
274 + if-eqz v0, :cond_eb
276 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
278 - const-string v0, "mFragmentManager="
279 + const-string/jumbo v0, "mFragmentManager="
281 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
283 @@ -541,10 +541,10 @@
285 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
287 - :cond_e8
288 + :cond_eb
289 iget-object v0, p0, Landroid/app/Fragment;->mActivity:Landroid/app/Activity;
291 - if-eqz v0, :cond_f9
292 + if-eqz v0, :cond_fc
294 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
296 @@ -556,10 +556,10 @@
298 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
300 - :cond_f9
301 + :cond_fc
302 iget-object v0, p0, Landroid/app/Fragment;->mArguments:Landroid/os/Bundle;
304 - if-eqz v0, :cond_10a
305 + if-eqz v0, :cond_10d
307 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
309 @@ -571,10 +571,10 @@
311 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
313 - :cond_10a
314 + :cond_10d
315 iget-object v0, p0, Landroid/app/Fragment;->mSavedFragmentState:Landroid/os/Bundle;
317 - if-eqz v0, :cond_11c
318 + if-eqz v0, :cond_11f
320 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
322 @@ -586,10 +586,10 @@
324 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
326 - :cond_11c
327 + :cond_11f
328 iget-object v0, p0, Landroid/app/Fragment;->mSavedViewState:Landroid/util/SparseArray;
330 - if-eqz v0, :cond_12e
331 + if-eqz v0, :cond_131
333 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
335 @@ -601,10 +601,10 @@
337 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
339 - :cond_12e
340 + :cond_131
341 iget-object v0, p0, Landroid/app/Fragment;->mTarget:Landroid/app/Fragment;
343 - if-eqz v0, :cond_14a
344 + if-eqz v0, :cond_14d
346 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
348 @@ -624,10 +624,10 @@
350 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
352 - :cond_14a
353 + :cond_14d
354 iget v0, p0, Landroid/app/Fragment;->mNextAnim:I
356 - if-eqz v0, :cond_15c
357 + if-eqz v0, :cond_15f
359 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
361 @@ -639,10 +639,10 @@
363 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
365 - :cond_15c
366 + :cond_15f
367 iget-object v0, p0, Landroid/app/Fragment;->mContainer:Landroid/view/ViewGroup;
369 - if-eqz v0, :cond_16d
370 + if-eqz v0, :cond_170
372 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
374 @@ -654,10 +654,10 @@
376 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
378 - :cond_16d
379 + :cond_170
380 iget-object v0, p0, Landroid/app/Fragment;->mView:Landroid/view/View;
382 - if-eqz v0, :cond_17f
383 + if-eqz v0, :cond_182
385 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
387 @@ -669,10 +669,10 @@
389 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
391 - :cond_17f
392 + :cond_182
393 iget-object v0, p0, Landroid/app/Fragment;->mAnimatingAway:Landroid/animation/Animator;
395 - if-eqz v0, :cond_19e
396 + if-eqz v0, :cond_1a1
398 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
400 @@ -694,10 +694,10 @@
402 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(I)V
404 - :cond_19e
405 + :cond_1a1
406 iget-object v0, p0, Landroid/app/Fragment;->mLoaderManager:Landroid/app/LoaderManagerImpl;
408 - if-eqz v0, :cond_1c2
409 + if-eqz v0, :cond_1c5
411 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
413 @@ -727,7 +727,7 @@
415 invoke-virtual {v0, v1, p2, p3, p4}, Landroid/app/LoaderManagerImpl;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
417 - :cond_1c2
418 + :cond_1c5
419 return-void
420 .end method
422 diff -Npru stock-framework/smali/android/app/Instrumentation$1.smali ext-framework/smali/android/app/Instrumentation$1.smali
423 --- stock-framework/smali/android/app/Instrumentation$1.smali 2012-11-08 09:12:14.438930457 -0600
424 +++ ext-framework/smali/android/app/Instrumentation$1.smali 2012-11-08 09:11:53.950828857 -0600
425 @@ -1,14 +1,96 @@
426 -.class synthetic Landroid/app/Instrumentation$1;
427 +.class Landroid/app/Instrumentation$1;
428 .super Ljava/lang/Object;
429 .source "Instrumentation.java"
431 +# interfaces
432 +.implements Ljava/lang/Runnable;
435 # annotations
436 -.annotation system Ldalvik/annotation/EnclosingClass;
437 - value = Landroid/app/Instrumentation;
438 +.annotation system Ldalvik/annotation/EnclosingMethod;
439 + 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;
440 .end annotation
442 .annotation system Ldalvik/annotation/InnerClass;
443 - accessFlags = 0x1008
444 + accessFlags = 0x0
445 name = null
446 .end annotation
449 +# instance fields
450 +.field final synthetic this$0:Landroid/app/Instrumentation;
452 +.field final synthetic val$tmp:Landroid/content/Context;
455 +# direct methods
456 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
457 + .registers 3
459 + iput-object p1, p0, Landroid/app/Instrumentation$1;->this$0:Landroid/app/Instrumentation;
461 + iput-object p2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
463 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
465 + return-void
466 +.end method
469 +# virtual methods
470 +.method public run()V
471 + .registers 5
473 + const-wide/16 v2, 0x3e8
475 + :try_start_2
476 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
477 + :try_end_5
478 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
480 + :goto_5
481 + new-instance v1, Landroid/content/Intent;
483 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
485 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
487 + new-instance v0, Landroid/os/Bundle;
489 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
491 + const-string/jumbo v2, "packageName"
493 + iget-object v3, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
495 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
497 + move-result-object v3
499 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
501 + const-string/jumbo v2, "phoneState"
503 + const/4 v3, 0x0
505 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
507 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
509 + iget-object v2, p0, Landroid/app/Instrumentation$1;->val$tmp:Landroid/content/Context;
511 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
513 + const-string v2, "PrivacyContext"
515 + const-string/jumbo v3, "sent privacy intent"
517 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
519 + return-void
521 + :catch_35
522 + move-exception v2
524 + goto :goto_5
525 +.end method
526 diff -Npru stock-framework/smali/android/app/Instrumentation$2.smali ext-framework/smali/android/app/Instrumentation$2.smali
527 --- stock-framework/smali/android/app/Instrumentation$2.smali 1969-12-31 18:00:00.000000000 -0600
528 +++ ext-framework/smali/android/app/Instrumentation$2.smali 2012-11-08 09:11:53.954828886 -0600
529 @@ -0,0 +1,96 @@
530 +.class Landroid/app/Instrumentation$2;
531 +.super Ljava/lang/Object;
532 +.source "Instrumentation.java"
534 +# interfaces
535 +.implements Ljava/lang/Runnable;
538 +# annotations
539 +.annotation system Ldalvik/annotation/EnclosingMethod;
540 + value = Landroid/app/Instrumentation;->execStartActivities(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;)V
541 +.end annotation
543 +.annotation system Ldalvik/annotation/InnerClass;
544 + accessFlags = 0x0
545 + name = null
546 +.end annotation
549 +# instance fields
550 +.field final synthetic this$0:Landroid/app/Instrumentation;
552 +.field final synthetic val$ctx:Landroid/content/Context;
555 +# direct methods
556 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
557 + .registers 3
559 + iput-object p1, p0, Landroid/app/Instrumentation$2;->this$0:Landroid/app/Instrumentation;
561 + iput-object p2, p0, Landroid/app/Instrumentation$2;->val$ctx:Landroid/content/Context;
563 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
565 + return-void
566 +.end method
569 +# virtual methods
570 +.method public run()V
571 + .registers 5
573 + const-wide/16 v2, 0x3e8
575 + :try_start_2
576 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
577 + :try_end_5
578 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
580 + :goto_5
581 + new-instance v1, Landroid/content/Intent;
583 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
585 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
587 + new-instance v0, Landroid/os/Bundle;
589 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
591 + const-string/jumbo v2, "packageName"
593 + iget-object v3, p0, Landroid/app/Instrumentation$2;->val$ctx:Landroid/content/Context;
595 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
597 + move-result-object v3
599 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
601 + const-string/jumbo v2, "phoneState"
603 + const/4 v3, 0x0
605 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
607 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
609 + iget-object v2, p0, Landroid/app/Instrumentation$2;->val$ctx:Landroid/content/Context;
611 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
613 + const-string v2, "PrivacyContext"
615 + const-string/jumbo v3, "sent privacy intent"
617 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
619 + return-void
621 + :catch_35
622 + move-exception v2
624 + goto :goto_5
625 +.end method
626 diff -Npru stock-framework/smali/android/app/Instrumentation$3.smali ext-framework/smali/android/app/Instrumentation$3.smali
627 --- stock-framework/smali/android/app/Instrumentation$3.smali 1969-12-31 18:00:00.000000000 -0600
628 +++ ext-framework/smali/android/app/Instrumentation$3.smali 2012-11-08 09:11:53.954828886 -0600
629 @@ -0,0 +1,96 @@
630 +.class Landroid/app/Instrumentation$3;
631 +.super Ljava/lang/Object;
632 +.source "Instrumentation.java"
634 +# interfaces
635 +.implements Ljava/lang/Runnable;
638 +# annotations
639 +.annotation system Ldalvik/annotation/EnclosingMethod;
640 + 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;
641 +.end annotation
643 +.annotation system Ldalvik/annotation/InnerClass;
644 + accessFlags = 0x0
645 + name = null
646 +.end annotation
649 +# instance fields
650 +.field final synthetic this$0:Landroid/app/Instrumentation;
652 +.field final synthetic val$tmp:Landroid/content/Context;
655 +# direct methods
656 +.method constructor <init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
657 + .registers 3
659 + iput-object p1, p0, Landroid/app/Instrumentation$3;->this$0:Landroid/app/Instrumentation;
661 + iput-object p2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
663 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
665 + return-void
666 +.end method
669 +# virtual methods
670 +.method public run()V
671 + .registers 5
673 + const-wide/16 v2, 0x3e8
675 + :try_start_2
676 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
677 + :try_end_5
678 + .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_35
680 + :goto_5
681 + new-instance v1, Landroid/content/Intent;
683 + const-string v2, "android.privacy.BLOCKED_PHONE_CALL"
685 + invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
687 + new-instance v0, Landroid/os/Bundle;
689 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
691 + const-string/jumbo v2, "packageName"
693 + iget-object v3, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
695 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
697 + move-result-object v3
699 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
701 + const-string/jumbo v2, "phoneState"
703 + const/4 v3, 0x0
705 + invoke-virtual {v0, v2, v3}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V
707 + invoke-virtual {v1, v0}, Landroid/content/Intent;->putExtras(Landroid/os/Bundle;)Landroid/content/Intent;
709 + iget-object v2, p0, Landroid/app/Instrumentation$3;->val$tmp:Landroid/content/Context;
711 + invoke-virtual {v2, v1}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
713 + const-string v2, "PrivacyContext"
715 + const-string/jumbo v3, "sent privacy intent"
717 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
719 + return-void
721 + :catch_35
722 + move-exception v2
724 + goto :goto_5
725 +.end method
726 diff -Npru stock-framework/smali/android/app/Instrumentation.smali ext-framework/smali/android/app/Instrumentation.smali
727 --- stock-framework/smali/android/app/Instrumentation.smali 2012-11-08 09:12:14.450930521 -0600
728 +++ ext-framework/smali/android/app/Instrumentation.smali 2012-11-08 09:11:53.970828965 -0600
729 @@ -6,7 +6,6 @@
730 # annotations
731 .annotation system Ldalvik/annotation/MemberClasses;
732 value = {
733 - Landroid/app/Instrumentation$1;,
734 Landroid/app/Instrumentation$Idler;,
735 Landroid/app/Instrumentation$ActivityGoing;,
736 Landroid/app/Instrumentation$ActivityWaiter;,
737 @@ -72,6 +71,8 @@
739 .field private mWatcher:Landroid/app/IInstrumentationWatcher;
741 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
744 # direct methods
745 .method public constructor <init>()V
746 @@ -865,510 +866,1408 @@
747 .end method
749 .method public execStartActivities(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;[Landroid/content/Intent;Landroid/os/Bundle;)V
750 - .registers 17
752 - move-object v1, p2
753 + .registers 25
755 - check-cast v1, Landroid/app/IApplicationThread;
756 + move-object/from16 v17, p2
758 - iget-object v0, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
759 + check-cast v17, Landroid/app/IApplicationThread;
761 - if-eqz v0, :cond_37
762 + const/4 v14, 0x1
764 - iget-object v2, p0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
765 + :try_start_5
766 + const-string v1, "PrivacyContext"
768 - monitor-enter v2
769 + new-instance v2, Ljava/lang/StringBuilder;
771 - :try_start_a
772 - iget-object v0, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
773 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
775 - invoke-interface {v0}, Ljava/util/List;->size()I
776 + const-string/jumbo v3, "now we are in execStartActivities() from package: "
778 - move-result v6
779 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
781 - const/4 v8, 0x0
782 + move-result-object v2
784 - :goto_11
785 - if-ge v8, v6, :cond_36
786 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
788 - iget-object v0, p0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
789 + move-result-object v3
791 - invoke-interface {v0, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
792 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
794 - move-result-object v7
795 + move-result-object v2
797 - check-cast v7, Landroid/app/Instrumentation$ActivityMonitor;
798 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
800 - const/4 v0, 0x0
801 + move-result-object v2
803 - const/4 v4, 0x0
804 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
806 - aget-object v4, p5, v4
807 + new-instance v16, Ljava/util/ArrayList;
809 - invoke-virtual {v7, p1, v0, v4}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
810 + invoke-direct/range {v16 .. v16}, Ljava/util/ArrayList;-><init>()V
812 - move-result v0
813 + const/4 v10, 0x0
815 - if-eqz v0, :cond_33
816 + const/4 v13, 0x0
818 - iget v0, v7, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
819 + :goto_29
820 + move-object/from16 v0, p5
822 - add-int/lit8 v0, v0, 0x1
823 + array-length v1, v0
825 - iput v0, v7, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
826 + if-ge v13, v1, :cond_b2
828 - invoke-virtual {v7}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
829 + aget-object v1, p5, v13
831 - move-result v0
832 + invoke-virtual {v1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
834 - if-eqz v0, :cond_36
835 + move-result-object v1
837 - monitor-exit v2
838 + const-string v2, "android.intent.action.CALL"
840 - :goto_32
841 - return-void
842 + invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
844 - :cond_33
845 - add-int/lit8 v8, v8, 0x1
846 + move-result v1
848 - goto :goto_11
849 + if-nez v1, :cond_4a
851 - :cond_36
852 - monitor-exit v2
853 - :try_end_37
854 - .catchall {:try_start_a .. :try_end_37} :catchall_53
855 + aget-object v1, p5, v13
857 - :cond_37
858 - :try_start_37
859 - array-length v0, p5
860 + invoke-virtual {v1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
862 - new-array v3, v0, [Ljava/lang/String;
863 + move-result-object v1
865 - const/4 v8, 0x0
866 + const-string v2, "android.intent.action.DIAL"
868 - :goto_3b
869 - array-length v0, p5
870 + invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
872 - if-ge v8, v0, :cond_56
873 + move-result v1
875 - aget-object v0, p5, v8
876 + if-eqz v1, :cond_4e
878 - const/4 v2, 0x0
879 + :cond_4a
880 + const/4 v10, 0x1
882 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
883 + :goto_4b
884 + add-int/lit8 v13, v13, 0x1
886 - aget-object v0, p5, v8
887 + goto :goto_29
889 - invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
890 + :cond_4e
891 + aget-object v1, p5, v13
893 - move-result-object v2
894 + move-object/from16 v0, v16
896 - invoke-virtual {v0, v2}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
897 + invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
898 + :try_end_55
899 + .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_55} :catch_56
901 - move-result-object v0
902 + goto :goto_4b
904 - aput-object v0, v3, v8
905 - :try_end_50
906 - .catch Landroid/os/RemoteException; {:try_start_37 .. :try_end_50} :catch_69
907 + :catch_56
908 + move-exception v12
910 - add-int/lit8 v8, v8, 0x1
911 + invoke-virtual {v12}, Ljava/lang/Exception;->printStackTrace()V
913 - goto :goto_3b
914 + if-eqz p1, :cond_15c
916 - :catchall_53
917 - move-exception v0
918 + const-string v1, "PrivacyContext"
920 - :try_start_54
921 - monitor-exit v2
922 - :try_end_55
923 - .catchall {:try_start_54 .. :try_end_55} :catchall_53
924 + new-instance v2, Ljava/lang/StringBuilder;
926 - throw v0
927 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
929 - :cond_56
930 - :try_start_56
931 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
932 + const-string v3, "got exception while trying to resolve intents for package: "
934 - move-result-object v0
935 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
937 - move-object v2, p5
938 + move-result-object v2
940 - move-object v4, p3
941 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
943 - move-object/from16 v5, p6
944 + move-result-object v3
946 - invoke-interface/range {v0 .. v5}, Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;)I
947 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
949 - move-result v9
950 + move-result-object v2
952 - const/4 v0, 0x0
953 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
955 - aget-object v0, p5, v0
956 + move-result-object v2
958 - invoke-static {v9, v0}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
959 - :try_end_68
960 - .catch Landroid/os/RemoteException; {:try_start_56 .. :try_end_68} :catch_69
961 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
963 - goto :goto_32
964 + :goto_78
965 + move-object/from16 v0, p0
967 - :catch_69
968 - move-exception v0
969 + iget-object v1, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
971 - goto :goto_32
972 -.end method
973 + if-eqz v1, :cond_16a
975 -.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;
976 - .registers 25
977 + move-object/from16 v0, p0
979 - move-object/from16 v3, p2
980 + iget-object v2, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
982 - check-cast v3, Landroid/app/IApplicationThread;
983 + monitor-enter v2
985 + :try_start_83
986 move-object/from16 v0, p0
988 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
989 + iget-object v1, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
991 - if-eqz v2, :cond_49
992 + invoke-interface {v1}, Ljava/util/List;->size()I
994 - move-object/from16 v0, p0
995 + move-result v8
997 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
998 + const/4 v13, 0x0
1000 - monitor-enter v4
1001 + :goto_8c
1002 + if-ge v13, v8, :cond_169
1004 - :try_start_f
1005 move-object/from16 v0, p0
1007 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1008 + iget-object v1, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1010 - invoke-interface {v2}, Ljava/util/List;->size()I
1011 + invoke-interface {v1, v13}, Ljava/util/List;->get(I)Ljava/lang/Object;
1013 - move-result v13
1014 + move-result-object v9
1016 - const/4 v15, 0x0
1017 + check-cast v9, Landroid/app/Instrumentation$ActivityMonitor;
1019 - :goto_18
1020 - if-ge v15, v13, :cond_48
1021 + const/4 v1, 0x0
1023 - move-object/from16 v0, p0
1024 + const/4 v3, 0x0
1026 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1027 + aget-object v3, p5, v3
1029 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
1030 + move-object/from16 v0, p1
1032 - move-result-object v14
1033 + invoke-virtual {v9, v0, v1, v3}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1035 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
1036 + move-result v1
1038 - const/4 v2, 0x0
1039 + if-eqz v1, :cond_165
1041 - move-object/from16 v0, p1
1042 + iget v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1044 - move-object/from16 v1, p5
1045 + add-int/lit8 v1, v1, 0x1
1047 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1048 + iput v1, v9, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1050 - move-result v2
1051 + invoke-virtual {v9}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1053 - if-eqz v2, :cond_45
1054 + move-result v1
1056 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1057 + if-eqz v1, :cond_169
1059 - add-int/lit8 v2, v2, 0x1
1060 + monitor-exit v2
1061 + :try_end_b1
1062 + .catchall {:try_start_83 .. :try_end_b1} :catchall_18a
1064 + :goto_b1
1065 + return-void
1067 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1068 + :cond_b2
1069 + if-eqz v10, :cond_155
1071 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1072 + :try_start_b4
1073 + const-string v1, "PrivacyContext"
1075 - move-result v2
1076 + new-instance v2, Ljava/lang/StringBuilder;
1078 - if-eqz v2, :cond_48
1079 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
1081 - if-ltz p6, :cond_43
1082 + const-string/jumbo v3, "package: "
1084 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1085 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1087 move-result-object v2
1089 - :goto_41
1090 - monitor-exit v4
1091 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1093 - :goto_42
1094 - return-object v2
1095 + move-result-object v3
1097 - :cond_43
1098 - const/4 v2, 0x0
1099 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1101 - goto :goto_41
1102 + move-result-object v2
1104 - :cond_45
1105 - add-int/lit8 v15, v15, 0x1
1106 + const-string v3, " tries to take a phone call"
1108 - goto :goto_18
1109 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1111 - :cond_48
1112 - monitor-exit v4
1113 - :try_end_49
1114 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
1115 + move-result-object v2
1117 - :cond_49
1118 - const/4 v2, 0x0
1119 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1121 - :try_start_4a
1122 - move-object/from16 v0, p5
1123 + move-result-object v2
1125 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1126 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1128 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1129 + move-object/from16 v0, p0
1131 - invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1132 + iget-object v1, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1134 - move-result-object v2
1135 + if-nez v1, :cond_f3
1137 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1138 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
1140 - move-result-object v4
1141 + const-string/jumbo v2, "privacy"
1143 - move-object/from16 v0, p5
1144 + invoke-static {v2}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1146 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1147 + move-result-object v2
1149 - move-result-object v5
1150 + invoke-static {v2}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1152 - if-eqz p4, :cond_81
1153 + move-result-object v2
1155 - move-object/from16 v0, p4
1156 + move-object/from16 v0, p1
1158 - iget-object v7, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1159 + invoke-direct {v1, v0, v2}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1161 - :goto_66
1162 - const/4 v9, 0x0
1163 + move-object/from16 v0, p0
1165 - const/4 v10, 0x0
1166 + iput-object v1, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1168 - const/4 v11, 0x0
1169 + :cond_f3
1170 + move-object/from16 v0, p0
1172 - move-object/from16 v4, p5
1173 + iget-object v1, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1175 - move-object/from16 v6, p3
1176 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1178 - move/from16 v8, p6
1179 + move-result-object v2
1181 - move-object/from16 v12, p7
1182 + const/4 v3, -0x1
1184 - 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
1185 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
1187 - move-result v16
1188 + move-result-object v7
1190 - move/from16 v0, v16
1191 + move-object/from16 v0, p0
1193 - move-object/from16 v1, p5
1194 + iget-object v1, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1196 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1197 - :try_end_7c
1198 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
1199 + if-eqz v1, :cond_142
1201 - :goto_7c
1202 - const/4 v2, 0x0
1203 + if-eqz v7, :cond_142
1205 - goto :goto_42
1206 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
1208 - :catchall_7e
1209 - move-exception v2
1210 + move-result v1
1212 - :try_start_7f
1213 - monitor-exit v4
1214 - :try_end_80
1215 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
1216 + if-eqz v1, :cond_142
1218 - throw v2
1219 + move-object/from16 v11, p1
1221 - :cond_81
1222 - const/4 v7, 0x0
1223 + invoke-interface/range {v16 .. v16}, Ljava/util/List;->toArray()[Ljava/lang/Object;
1225 - goto :goto_66
1226 + move-result-object v1
1228 - :catch_83
1229 - move-exception v2
1230 + check-cast v1, [Landroid/content/Intent;
1232 - goto :goto_7c
1233 -.end method
1234 + move-object v0, v1
1236 -.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;
1237 - .registers 25
1238 + check-cast v0, [Landroid/content/Intent;
1240 - move-object/from16 v3, p2
1241 + move-object/from16 p5, v0
1243 - check-cast v3, Landroid/app/IApplicationThread;
1244 + const/16 v16, 0x0
1246 - move-object/from16 v0, p0
1247 + invoke-static {}, Ljava/lang/System;->gc()V
1249 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1250 + new-instance v1, Ljava/lang/Thread;
1252 - if-eqz v2, :cond_49
1253 + new-instance v2, Landroid/app/Instrumentation$2;
1255 move-object/from16 v0, p0
1257 - iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1258 + invoke-direct {v2, v0, v11}, Landroid/app/Instrumentation$2;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1260 - monitor-enter v4
1261 + invoke-direct {v1, v2}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
1263 + invoke-virtual {v1}, Ljava/lang/Thread;->start()V
1265 - :try_start_f
1266 move-object/from16 v0, p0
1268 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1269 + iget-object v1, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1271 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1273 - invoke-interface {v2}, Ljava/util/List;->size()I
1274 + move-result-object v2
1276 + const/4 v3, 0x0
1278 - move-result v13
1279 + const/4 v4, 0x1
1281 - const/4 v15, 0x0
1282 + const-string/jumbo v5, "phoneCall"
1284 - :goto_18
1285 - if-ge v15, v13, :cond_48
1286 + const/4 v6, 0x0
1288 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
1290 + goto/16 :goto_78
1292 + :cond_142
1293 move-object/from16 v0, p0
1295 - iget-object v2, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1296 + iget-object v1, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1298 - invoke-interface {v2, v15}, Ljava/util/List;->get(I)Ljava/lang/Object;
1299 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1301 - move-result-object v14
1302 + move-result-object v2
1304 - check-cast v14, Landroid/app/Instrumentation$ActivityMonitor;
1305 + const/4 v3, 0x0
1307 - const/4 v2, 0x0
1308 + const/4 v4, 0x0
1310 - move-object/from16 v0, p1
1311 + const-string/jumbo v5, "phoneCall"
1313 - move-object/from16 v1, p5
1314 + const/4 v6, 0x0
1316 - invoke-virtual {v14, v0, v2, v1}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1317 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
1319 - move-result v2
1320 + goto/16 :goto_78
1322 - if-eqz v2, :cond_45
1323 + :cond_155
1324 + const/16 v16, 0x0
1326 - iget v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1327 + invoke-static {}, Ljava/lang/System;->gc()V
1328 + :try_end_15a
1329 + .catch Ljava/lang/Exception; {:try_start_b4 .. :try_end_15a} :catch_56
1331 - add-int/lit8 v2, v2, 0x1
1332 + goto/16 :goto_78
1334 - iput v2, v14, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1335 + :cond_15c
1336 + const-string v1, "PrivacyContext"
1338 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1339 + const-string v2, "got exception while trying to resolve intents for unknown package"
1341 - move-result v2
1342 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1344 - if-eqz v2, :cond_48
1345 + goto/16 :goto_78
1347 - if-ltz p6, :cond_43
1348 + :cond_165
1349 + add-int/lit8 v13, v13, 0x1
1351 - invoke-virtual {v14}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1352 + goto/16 :goto_8c
1354 - move-result-object v2
1355 + :cond_169
1356 + :try_start_169
1357 + monitor-exit v2
1358 + :try_end_16a
1359 + .catchall {:try_start_169 .. :try_end_16a} :catchall_18a
1361 - :goto_41
1362 - monitor-exit v4
1363 + :cond_16a
1364 + :try_start_16a
1365 + move-object/from16 v0, p5
1367 - :goto_42
1368 - return-object v2
1369 + array-length v1, v0
1371 - :cond_43
1372 - const/4 v2, 0x0
1373 + new-array v4, v1, [Ljava/lang/String;
1375 - goto :goto_41
1376 + const/4 v13, 0x0
1378 - :cond_45
1379 - add-int/lit8 v15, v15, 0x1
1380 + :goto_170
1381 + move-object/from16 v0, p5
1383 - goto :goto_18
1384 + array-length v1, v0
1386 - :cond_48
1387 - monitor-exit v4
1388 - :try_end_49
1389 - .catchall {:try_start_f .. :try_end_49} :catchall_7e
1390 + if-ge v13, v1, :cond_18d
1392 + aget-object v1, p5, v13
1394 - :cond_49
1395 const/4 v2, 0x0
1397 - :try_start_4a
1398 - move-object/from16 v0, p5
1399 + invoke-virtual {v1, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1401 - invoke-virtual {v0, v2}, Landroid/content/Intent;->setAllowFds(Z)V
1402 + aget-object v1, p5, v13
1404 - invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1405 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1407 + move-result-object v2
1409 + invoke-virtual {v1, v2}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1411 + move-result-object v1
1413 + aput-object v1, v4, v13
1414 + :try_end_187
1415 + .catch Landroid/os/RemoteException; {:try_start_16a .. :try_end_187} :catch_1a5
1417 + add-int/lit8 v13, v13, 0x1
1419 + goto :goto_170
1421 + :catchall_18a
1422 + move-exception v1
1424 + :try_start_18b
1425 + monitor-exit v2
1426 + :try_end_18c
1427 + .catchall {:try_start_18b .. :try_end_18c} :catchall_18a
1429 + throw v1
1431 + :cond_18d
1432 + :try_start_18d
1433 invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1435 - move-result-object v2
1436 + move-result-object v1
1438 - invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1439 + move-object/from16 v2, v17
1441 + move-object/from16 v3, p5
1443 + move-object/from16 v5, p3
1445 + move-object/from16 v6, p6
1447 + invoke-interface/range {v1 .. v6}, Landroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;)I
1449 + move-result v15
1451 + const/4 v1, 0x0
1453 + aget-object v1, p5, v1
1455 + invoke-static {v15, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1456 + :try_end_1a3
1457 + .catch Landroid/os/RemoteException; {:try_start_18d .. :try_end_1a3} :catch_1a5
1459 + goto/16 :goto_b1
1461 + :catch_1a5
1462 + move-exception v1
1464 + goto/16 :goto_b1
1465 +.end method
1467 +.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;
1468 + .registers 36
1470 + move-object/from16 v11, p2
1472 + check-cast v11, Landroid/app/IApplicationThread;
1474 + const/16 v25, 0x1
1476 + :try_start_6
1477 + const-string v3, "PrivacyContext"
1479 + new-instance v4, Ljava/lang/StringBuilder;
1481 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1483 + const-string/jumbo v5, "now we are in execStartActivity() from package: "
1485 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1487 move-result-object v4
1489 - move-object/from16 v0, p5
1490 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1492 + move-result-object v5
1494 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1496 + move-result-object v4
1498 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1500 + move-result-object v4
1502 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1504 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1506 + move-result-object v3
1508 + const-string v4, "android.intent.action.CALL"
1510 + invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1512 + move-result v3
1514 + if-nez v3, :cond_3b
1516 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
1518 + move-result-object v3
1520 + const-string v4, "android.intent.action.DIAL"
1522 + invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
1524 + move-result v3
1526 + if-eqz v3, :cond_bb
1528 + :cond_3b
1529 + const-string v3, "PrivacyContext"
1531 + new-instance v4, Ljava/lang/StringBuilder;
1533 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1535 - invoke-virtual {v0, v4}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1536 + const-string/jumbo v5, "package: "
1538 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1540 + move-result-object v4
1542 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1544 move-result-object v5
1546 - if-eqz p4, :cond_81
1547 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1549 - move-object/from16 v0, p4
1550 + move-result-object v4
1552 - iget-object v7, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
1553 + const-string v5, " tries to take a phone call"
1555 - :goto_66
1556 - const/4 v9, 0x0
1557 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1559 - const/4 v10, 0x0
1560 + move-result-object v4
1562 - const/4 v11, 0x0
1563 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1565 - move-object/from16 v4, p5
1566 + move-result-object v4
1568 - move-object/from16 v6, p3
1569 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1571 - move/from16 v8, p6
1572 + move-object/from16 v0, p0
1574 - move-object/from16 v12, p7
1575 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1577 - 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
1578 + if-nez v3, :cond_7a
1580 - move-result v16
1581 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
1583 - move/from16 v0, v16
1584 + const-string/jumbo v4, "privacy"
1586 - move-object/from16 v1, p5
1587 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
1589 - invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1590 - :try_end_7c
1591 - .catch Landroid/os/RemoteException; {:try_start_4a .. :try_end_7c} :catch_83
1592 + move-result-object v4
1594 - :goto_7c
1595 - const/4 v2, 0x0
1596 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
1598 + move-result-object v4
1600 - goto :goto_42
1601 + move-object/from16 v0, p1
1603 - :catchall_7e
1604 - move-exception v2
1605 + invoke-direct {v3, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
1607 - :try_start_7f
1608 - monitor-exit v4
1609 - :try_end_80
1610 - .catchall {:try_start_7f .. :try_end_80} :catchall_7e
1611 + move-object/from16 v0, p0
1613 + iput-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1615 + :cond_7a
1616 + move-object/from16 v0, p0
1618 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1620 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1622 - throw v2
1623 + move-result-object v4
1625 + const/4 v5, -0x1
1627 + invoke-virtual {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
1629 + move-result-object v9
1631 + move-object/from16 v0, p0
1633 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1635 + if-eqz v3, :cond_107
1637 + if-eqz v9, :cond_107
1639 + invoke-virtual {v9}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
1641 + move-result v3
1643 + if-eqz v3, :cond_107
1645 + move-object/from16 v27, p1
1647 + const/16 v25, 0x0
1649 + new-instance v3, Ljava/lang/Thread;
1651 + new-instance v4, Landroid/app/Instrumentation$1;
1653 - :cond_81
1654 - const/4 v7, 0x0
1655 + move-object/from16 v0, p0
1657 + move-object/from16 v1, v27
1659 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$1;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
1661 + invoke-direct {v3, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
1663 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
1665 + move-object/from16 v0, p0
1667 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1669 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1671 + move-result-object v4
1673 + const/4 v5, 0x0
1675 + const/4 v6, 0x1
1677 + const-string/jumbo v7, "phoneCall"
1679 + const/4 v8, 0x0
1681 - goto :goto_66
1682 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
1683 + :try_end_bb
1684 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_bb} :catch_11b
1686 - :catch_83
1687 - move-exception v2
1688 + :cond_bb
1689 + :goto_bb
1690 + move-object/from16 v0, p0
1692 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1694 + if-eqz v3, :cond_14e
1696 + move-object/from16 v0, p0
1698 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
1700 + monitor-enter v4
1702 + :try_start_c6
1703 + move-object/from16 v0, p0
1705 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1707 + invoke-interface {v3}, Ljava/util/List;->size()I
1709 + move-result v21
1711 + const/16 v24, 0x0
1713 + :goto_d0
1714 + move/from16 v0, v24
1716 + move/from16 v1, v21
1718 + if-ge v0, v1, :cond_14d
1720 + move-object/from16 v0, p0
1722 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
1724 + move/from16 v0, v24
1726 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
1728 + move-result-object v22
1730 + check-cast v22, Landroid/app/Instrumentation$ActivityMonitor;
1732 + const/4 v3, 0x0
1734 + move-object/from16 v0, v22
1736 + move-object/from16 v1, p1
1738 + move-object/from16 v2, p5
1740 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
1742 + move-result v3
1744 + if-eqz v3, :cond_14a
1746 + move-object/from16 v0, v22
1748 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1750 + add-int/lit8 v3, v3, 0x1
1752 + move-object/from16 v0, v22
1754 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
1756 + invoke-virtual/range {v22 .. v22}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
1758 + move-result v3
1760 + if-eqz v3, :cond_14d
1762 + if-ltz p6, :cond_148
1764 + invoke-virtual/range {v22 .. v22}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
1766 + move-result-object v3
1768 + :goto_105
1769 + monitor-exit v4
1770 + :try_end_106
1771 + .catchall {:try_start_c6 .. :try_end_106} :catchall_197
1773 + :goto_106
1774 + return-object v3
1776 + :cond_107
1777 + const/16 v25, 0x1
1779 + :try_start_109
1780 + move-object/from16 v0, p0
1782 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
1784 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1786 + move-result-object v4
1788 + const/4 v5, 0x0
1790 + const/4 v6, 0x0
1792 + const-string/jumbo v7, "phoneCall"
1794 + const/4 v8, 0x0
1796 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
1797 + :try_end_11a
1798 + .catch Ljava/lang/Exception; {:try_start_109 .. :try_end_11a} :catch_11b
1800 + goto :goto_bb
1802 + :catch_11b
1803 + move-exception v23
1805 + invoke-virtual/range {v23 .. v23}, Ljava/lang/Exception;->printStackTrace()V
1807 + if-eqz p1, :cond_13f
1809 + const-string v3, "PrivacyContext"
1811 + new-instance v4, Ljava/lang/StringBuilder;
1813 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1815 + const-string v5, "got exception while trying to resolve intents for package: "
1817 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1819 + move-result-object v4
1821 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1823 + move-result-object v5
1825 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1827 + move-result-object v4
1829 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1831 + move-result-object v4
1833 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1835 + goto/16 :goto_bb
1837 + :cond_13f
1838 + const-string v3, "PrivacyContext"
1840 + const-string v4, "got exception while trying to resolve intents for unknown package"
1842 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
1844 + goto/16 :goto_bb
1846 + :cond_148
1847 + const/4 v3, 0x0
1849 + goto :goto_105
1851 + :cond_14a
1852 + add-int/lit8 v24, v24, 0x1
1854 + goto :goto_d0
1856 + :cond_14d
1857 + :try_start_14d
1858 + monitor-exit v4
1859 + :try_end_14e
1860 + .catchall {:try_start_14d .. :try_end_14e} :catchall_197
1862 + :cond_14e
1863 + if-nez v25, :cond_15e
1865 + :try_start_150
1866 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
1868 + move/from16 v0, p6
1870 + move-object/from16 v1, p5
1872 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
1873 + :try_end_159
1874 + .catch Ljava/lang/Exception; {:try_start_150 .. :try_end_159} :catch_15a
1876 + goto :goto_106
1878 + :catch_15a
1879 + move-exception v23
1881 + invoke-virtual/range {v23 .. v23}, Ljava/lang/Exception;->printStackTrace()V
1883 + :cond_15e
1884 + const/4 v3, 0x0
1886 + :try_start_15f
1887 + move-object/from16 v0, p5
1889 + invoke-virtual {v0, v3}, Landroid/content/Intent;->setAllowFds(Z)V
1891 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
1893 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
1895 + move-result-object v10
1897 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
1899 + move-result-object v3
1901 + move-object/from16 v0, p5
1903 + invoke-virtual {v0, v3}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
1905 + move-result-object v13
1907 + if-eqz p4, :cond_19a
1909 + move-object/from16 v0, p4
1911 + iget-object v15, v0, Landroid/app/Activity;->mEmbeddedID:Ljava/lang/String;
1913 + :goto_17b
1914 + const/16 v17, 0x0
1916 + const/16 v18, 0x0
1918 + const/16 v19, 0x0
1920 + move-object/from16 v12, p5
1922 + move-object/from16 v14, p3
1924 + move/from16 v16, p6
1926 + move-object/from16 v20, p7
1928 + invoke-interface/range {v10 .. v20}, 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
1930 + move-result v26
1932 + move/from16 v0, v26
1934 + move-object/from16 v1, p5
1936 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
1937 + :try_end_194
1938 + .catch Landroid/os/RemoteException; {:try_start_15f .. :try_end_194} :catch_19c
1940 + :goto_194
1941 + const/4 v3, 0x0
1943 + goto/16 :goto_106
1945 + :catchall_197
1946 + move-exception v3
1948 + :try_start_198
1949 + monitor-exit v4
1950 + :try_end_199
1951 + .catchall {:try_start_198 .. :try_end_199} :catchall_197
1953 + throw v3
1955 + :cond_19a
1956 + const/4 v15, 0x0
1958 + goto :goto_17b
1960 + :catch_19c
1961 + move-exception v3
1963 + goto :goto_194
1964 +.end method
1966 +.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;
1967 + .registers 36
1969 + move-object/from16 v11, p2
1971 + check-cast v11, Landroid/app/IApplicationThread;
1973 + const/16 v25, 0x1
1975 + :try_start_6
1976 + const-string v3, "PrivacyContext"
1978 + new-instance v4, Ljava/lang/StringBuilder;
1980 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
1982 + const-string/jumbo v5, "now we are in execStartActivity() from package: "
1984 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1986 + move-result-object v4
1988 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
1990 + move-result-object v5
1992 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
1994 + move-result-object v4
1996 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
1998 + move-result-object v4
2000 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2002 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2004 + move-result-object v3
2006 + const-string v4, "android.intent.action.CALL"
2008 + invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2010 + move-result v3
2012 + if-nez v3, :cond_3b
2014 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->getAction()Ljava/lang/String;
2016 + move-result-object v3
2018 + const-string v4, "android.intent.action.DIAL"
2020 + invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
2022 + move-result v3
2024 + if-eqz v3, :cond_bb
2026 + :cond_3b
2027 + const-string v3, "PrivacyContext"
2029 + new-instance v4, Ljava/lang/StringBuilder;
2031 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2033 + const-string/jumbo v5, "package: "
2035 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2037 + move-result-object v4
2039 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2041 + move-result-object v5
2043 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2045 + move-result-object v4
2047 + const-string v5, " tries to take a phone call"
2049 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2051 + move-result-object v4
2053 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2055 + move-result-object v4
2057 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2059 + move-object/from16 v0, p0
2061 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2063 + if-nez v3, :cond_7a
2065 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
2067 + const-string/jumbo v4, "privacy"
2069 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
2071 + move-result-object v4
2073 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
2075 + move-result-object v4
2077 + move-object/from16 v0, p1
2079 + invoke-direct {v3, v0, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
2081 + move-object/from16 v0, p0
2083 + iput-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2085 + :cond_7a
2086 + move-object/from16 v0, p0
2088 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2090 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2092 + move-result-object v4
2094 + const/4 v5, -0x1
2096 + invoke-virtual {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
2098 + move-result-object v9
2100 + move-object/from16 v0, p0
2102 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2104 + if-eqz v3, :cond_107
2106 + if-eqz v9, :cond_107
2108 + invoke-virtual {v9}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
2110 + move-result v3
2112 + if-eqz v3, :cond_107
2114 + move-object/from16 v27, p1
2116 + const/16 v25, 0x0
2118 + new-instance v3, Ljava/lang/Thread;
2120 + new-instance v4, Landroid/app/Instrumentation$3;
2122 + move-object/from16 v0, p0
2124 + move-object/from16 v1, v27
2126 + invoke-direct {v4, v0, v1}, Landroid/app/Instrumentation$3;-><init>(Landroid/app/Instrumentation;Landroid/content/Context;)V
2128 + invoke-direct {v3, v4}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
2130 + invoke-virtual {v3}, Ljava/lang/Thread;->start()V
2132 + move-object/from16 v0, p0
2134 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2136 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2138 + move-result-object v4
2140 + const/4 v5, 0x0
2142 + const/4 v6, 0x1
2144 + const-string/jumbo v7, "phoneCall"
2146 + const/4 v8, 0x0
2148 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
2149 + :try_end_bb
2150 + .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_bb} :catch_11b
2152 + :cond_bb
2153 + :goto_bb
2154 + move-object/from16 v0, p0
2156 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2158 + if-eqz v3, :cond_14e
2160 + move-object/from16 v0, p0
2162 + iget-object v4, v0, Landroid/app/Instrumentation;->mSync:Ljava/lang/Object;
2164 + monitor-enter v4
2166 + :try_start_c6
2167 + move-object/from16 v0, p0
2169 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2171 + invoke-interface {v3}, Ljava/util/List;->size()I
2173 + move-result v21
2175 + const/16 v24, 0x0
2177 + :goto_d0
2178 + move/from16 v0, v24
2180 + move/from16 v1, v21
2182 + if-ge v0, v1, :cond_14d
2184 + move-object/from16 v0, p0
2186 + iget-object v3, v0, Landroid/app/Instrumentation;->mActivityMonitors:Ljava/util/List;
2188 + move/from16 v0, v24
2190 + invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
2192 + move-result-object v22
2194 + check-cast v22, Landroid/app/Instrumentation$ActivityMonitor;
2196 + const/4 v3, 0x0
2198 + move-object/from16 v0, v22
2200 + move-object/from16 v1, p1
2202 + move-object/from16 v2, p5
2204 + invoke-virtual {v0, v1, v3, v2}, Landroid/app/Instrumentation$ActivityMonitor;->match(Landroid/content/Context;Landroid/app/Activity;Landroid/content/Intent;)Z
2206 + move-result v3
2208 + if-eqz v3, :cond_14a
2210 + move-object/from16 v0, v22
2212 + iget v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2214 + add-int/lit8 v3, v3, 0x1
2216 + move-object/from16 v0, v22
2218 + iput v3, v0, Landroid/app/Instrumentation$ActivityMonitor;->mHits:I
2220 + invoke-virtual/range {v22 .. v22}, Landroid/app/Instrumentation$ActivityMonitor;->isBlocking()Z
2222 + move-result v3
2224 + if-eqz v3, :cond_14d
2226 + if-ltz p6, :cond_148
2228 + invoke-virtual/range {v22 .. v22}, Landroid/app/Instrumentation$ActivityMonitor;->getResult()Landroid/app/Instrumentation$ActivityResult;
2230 + move-result-object v3
2232 + :goto_105
2233 + monitor-exit v4
2234 + :try_end_106
2235 + .catchall {:try_start_c6 .. :try_end_106} :catchall_197
2237 + :goto_106
2238 + return-object v3
2240 + :cond_107
2241 + const/16 v25, 0x1
2243 + :try_start_109
2244 + move-object/from16 v0, p0
2246 + iget-object v3, v0, Landroid/app/Instrumentation;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2248 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2250 + move-result-object v4
2252 + const/4 v5, 0x0
2254 + const/4 v6, 0x0
2256 + const-string/jumbo v7, "phoneCall"
2258 + const/4 v8, 0x0
2260 + invoke-virtual/range {v3 .. v9}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
2261 + :try_end_11a
2262 + .catch Ljava/lang/Exception; {:try_start_109 .. :try_end_11a} :catch_11b
2264 + goto :goto_bb
2266 + :catch_11b
2267 + move-exception v23
2269 + invoke-virtual/range {v23 .. v23}, Ljava/lang/Exception;->printStackTrace()V
2271 + if-eqz p1, :cond_13f
2273 + const-string v3, "PrivacyContext"
2275 + new-instance v4, Ljava/lang/StringBuilder;
2277 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2279 + const-string v5, "got exception while trying to resolve intents for package: "
2281 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2283 + move-result-object v4
2285 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
2287 + move-result-object v5
2289 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2291 + move-result-object v4
2293 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2295 + move-result-object v4
2297 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2299 + goto/16 :goto_bb
2301 + :cond_13f
2302 + const-string v3, "PrivacyContext"
2304 + const-string v4, "got exception while trying to resolve intents for unknown package"
2306 + invoke-static {v3, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
2308 + goto/16 :goto_bb
2310 + :cond_148
2311 + const/4 v3, 0x0
2313 + goto :goto_105
2315 + :cond_14a
2316 + add-int/lit8 v24, v24, 0x1
2318 + goto :goto_d0
2320 + :cond_14d
2321 + :try_start_14d
2322 + monitor-exit v4
2323 + :try_end_14e
2324 + .catchall {:try_start_14d .. :try_end_14e} :catchall_197
2326 + :cond_14e
2327 + if-nez v25, :cond_15e
2329 + :try_start_150
2330 + new-instance v3, Landroid/app/Instrumentation$ActivityResult;
2332 + move/from16 v0, p6
2334 + move-object/from16 v1, p5
2336 + invoke-direct {v3, v0, v1}, Landroid/app/Instrumentation$ActivityResult;-><init>(ILandroid/content/Intent;)V
2337 + :try_end_159
2338 + .catch Ljava/lang/Exception; {:try_start_150 .. :try_end_159} :catch_15a
2340 + goto :goto_106
2342 + :catch_15a
2343 + move-exception v23
2345 + invoke-virtual/range {v23 .. v23}, Ljava/lang/Exception;->printStackTrace()V
2347 + :cond_15e
2348 + const/4 v3, 0x0
2350 + :try_start_15f
2351 + move-object/from16 v0, p5
2353 + invoke-virtual {v0, v3}, Landroid/content/Intent;->setAllowFds(Z)V
2355 + invoke-virtual/range {p5 .. p5}, Landroid/content/Intent;->migrateExtraStreamToClipData()Z
2357 + invoke-static {}, Landroid/app/ActivityManagerNative;->getDefault()Landroid/app/IActivityManager;
2359 + move-result-object v10
2361 + invoke-virtual/range {p1 .. p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
2363 + move-result-object v3
2365 + move-object/from16 v0, p5
2367 + invoke-virtual {v0, v3}, Landroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
2369 + move-result-object v13
2371 + if-eqz p4, :cond_19a
2373 + move-object/from16 v0, p4
2375 + iget-object v15, v0, Landroid/app/Fragment;->mWho:Ljava/lang/String;
2377 + :goto_17b
2378 + const/16 v17, 0x0
2380 + const/16 v18, 0x0
2382 + const/16 v19, 0x0
2384 + move-object/from16 v12, p5
2386 + move-object/from16 v14, p3
2388 + move/from16 v16, p6
2390 + move-object/from16 v20, p7
2392 + invoke-interface/range {v10 .. v20}, 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
2394 + move-result v26
2396 + move/from16 v0, v26
2398 + move-object/from16 v1, p5
2400 + invoke-static {v0, v1}, Landroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
2401 + :try_end_194
2402 + .catch Landroid/os/RemoteException; {:try_start_15f .. :try_end_194} :catch_19c
2404 + :goto_194
2405 + const/4 v3, 0x0
2407 + goto/16 :goto_106
2409 + :catchall_197
2410 + move-exception v3
2412 + :try_start_198
2413 + monitor-exit v4
2414 + :try_end_199
2415 + .catchall {:try_start_198 .. :try_end_199} :catchall_197
2417 + throw v3
2419 + :cond_19a
2420 + const/4 v15, 0x0
2422 + goto :goto_17b
2424 + :catch_19c
2425 + move-exception v3
2427 - goto :goto_7c
2428 + goto :goto_194
2429 .end method
2431 .method public finish(ILandroid/os/Bundle;)V
2432 diff -Npru stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali ext-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali
2433 --- stock-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-11-08 09:12:14.498930748 -0600
2434 +++ ext-framework/smali/android/app/LoaderManagerImpl$LoaderInfo.smali 2012-11-08 09:11:54.018829196 -0600
2435 @@ -575,12 +575,12 @@
2437 iget-boolean v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mDeliveredData:Z
2439 - if-eqz v0, :cond_7b
2440 + if-eqz v0, :cond_7c
2442 :cond_57
2443 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
2445 - const-string v0, "mHaveData="
2446 + const-string/jumbo v0, "mHaveData="
2448 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
2450 @@ -606,7 +606,7 @@
2452 invoke-virtual {p3, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/Object;)V
2454 - :cond_7b
2455 + :cond_7c
2456 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
2458 const-string/jumbo v0, "mStarted="
2459 @@ -661,7 +661,7 @@
2461 iget-object v0, p0, Landroid/app/LoaderManagerImpl$LoaderInfo;->mPendingLoader:Landroid/app/LoaderManagerImpl$LoaderInfo;
2463 - if-eqz v0, :cond_ed
2464 + if-eqz v0, :cond_ee
2466 invoke-virtual {p3, p1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
2468 @@ -699,7 +699,7 @@
2470 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
2472 - :cond_ed
2473 + :cond_ee
2474 return-void
2475 .end method
2477 diff -Npru stock-framework/smali/android/content/ContentResolver.smali ext-framework/smali/android/content/ContentResolver.smali
2478 --- stock-framework/smali/android/content/ContentResolver.smali 2012-11-08 09:12:14.082928690 -0600
2479 +++ ext-framework/smali/android/content/ContentResolver.smali 2012-11-08 09:11:53.646827359 -0600
2480 @@ -3523,8 +3523,8 @@
2482 invoke-virtual {v0, v9}, Landroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
2483 :try_end_1d
2484 - .catchall {:try_start_a .. :try_end_1d} :catchall_b9
2485 - .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_a6
2486 + .catchall {:try_start_a .. :try_end_1d} :catchall_d5
2487 + .catch Landroid/os/RemoteException; {:try_start_a .. :try_end_1d} :catch_c2
2489 :cond_1d
2490 move-object/from16 v4, p1
2491 @@ -3539,25 +3539,39 @@
2493 :try_start_27
2494 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;
2495 - :try_end_2a
2496 - .catchall {:try_start_27 .. :try_end_2a} :catchall_b9
2497 - .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_2a} :catch_3e
2498 - .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_2a} :catch_a6
2500 move-result-object v19
2502 - :goto_2b
2503 - if-nez v19, :cond_6c
2504 + move-object/from16 v0, p0
2506 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
2508 + move-object/from16 v0, p1
2510 + move-object/from16 v1, p2
2512 + move-object/from16 v2, v19
2514 + 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;
2515 + :try_end_38
2516 + .catchall {:try_start_27 .. :try_end_38} :catchall_d5
2517 + .catch Landroid/os/DeadObjectException; {:try_start_27 .. :try_end_38} :catch_4c
2518 + .catch Landroid/os/RemoteException; {:try_start_27 .. :try_end_38} :catch_c2
2520 + move-result-object v19
2522 + :goto_39
2523 + if-nez v19, :cond_88
2525 const/16 v22, 0x0
2527 - if-eqz v3, :cond_36
2528 + if-eqz v3, :cond_44
2530 move-object/from16 v0, p0
2532 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2534 - :cond_36
2535 + :cond_44
2536 if-eqz v10, :cond_8
2538 move-object/from16 v0, p0
2539 @@ -3566,32 +3580,32 @@
2541 goto :goto_8
2543 - :catch_3e
2544 + :catch_4c
2545 move-exception v18
2547 - :try_start_3f
2548 + :try_start_4d
2549 move-object/from16 v0, p0
2551 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
2553 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2554 - :try_end_47
2555 - .catchall {:try_start_3f .. :try_end_47} :catchall_b9
2556 - .catch Landroid/os/RemoteException; {:try_start_3f .. :try_end_47} :catch_a6
2557 + :try_end_55
2558 + .catchall {:try_start_4d .. :try_end_55} :catchall_d5
2559 + .catch Landroid/os/RemoteException; {:try_start_4d .. :try_end_55} :catch_c2
2561 move-result-object v10
2563 - if-nez v10, :cond_5b
2564 + if-nez v10, :cond_69
2566 const/16 v22, 0x0
2568 - if-eqz v3, :cond_53
2569 + if-eqz v3, :cond_61
2571 move-object/from16 v0, p0
2573 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2575 - :cond_53
2576 + :cond_61
2577 if-eqz v10, :cond_8
2579 move-object/from16 v0, p0
2580 @@ -3600,7 +3614,7 @@
2582 goto :goto_8
2584 - :cond_5b
2585 + :cond_69
2586 move-object/from16 v11, p1
2588 move-object/from16 v12, p2
2589 @@ -3613,14 +3627,28 @@
2591 move-object/from16 v16, v9
2593 - :try_start_67
2594 + :try_start_75
2595 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;
2597 move-result-object v19
2599 - goto :goto_2b
2600 + move-object/from16 v0, p0
2602 + iget-object v4, v0, Landroid/content/ContentResolver;->mContext:Landroid/content/Context;
2604 + move-object/from16 v0, p1
2606 + move-object/from16 v1, p2
2608 + move-object/from16 v2, v19
2610 + 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;
2612 + move-result-object v19
2614 + goto :goto_39
2616 - :cond_6c
2617 + :cond_88
2618 invoke-interface/range {v19 .. v19}, Landroid/database/Cursor;->getCount()I
2620 invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J
2621 @@ -3643,11 +3671,11 @@
2623 new-instance v22, Landroid/content/ContentResolver$CursorWrapperInner;
2625 - if-eqz v10, :cond_a1
2626 + if-eqz v10, :cond_bd
2628 move-object v4, v10
2630 - :goto_87
2631 + :goto_a3
2632 move-object/from16 v0, v22
2634 move-object/from16 v1, p0
2635 @@ -3655,19 +3683,19 @@
2636 move-object/from16 v2, v19
2638 invoke-direct {v0, v1, v2, v4}, Landroid/content/ContentResolver$CursorWrapperInner;-><init>(Landroid/content/ContentResolver;Landroid/database/Cursor;Landroid/content/IContentProvider;)V
2639 - :try_end_90
2640 - .catchall {:try_start_67 .. :try_end_90} :catchall_b9
2641 - .catch Landroid/os/RemoteException; {:try_start_67 .. :try_end_90} :catch_a6
2642 + :try_end_ac
2643 + .catchall {:try_start_75 .. :try_end_ac} :catchall_d5
2644 + .catch Landroid/os/RemoteException; {:try_start_75 .. :try_end_ac} :catch_c2
2646 const/4 v10, 0x0
2648 - if-eqz v3, :cond_98
2649 + if-eqz v3, :cond_b4
2651 move-object/from16 v0, p0
2653 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2655 - :cond_98
2656 + :cond_b4
2657 if-eqz v10, :cond_8
2659 move-object/from16 v0, p0
2660 @@ -3676,29 +3704,29 @@
2662 goto/16 :goto_8
2664 - :cond_a1
2665 - :try_start_a1
2666 + :cond_bd
2667 + :try_start_bd
2668 invoke-virtual/range {p0 .. p1}, Landroid/content/ContentResolver;->acquireProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
2669 - :try_end_a4
2670 - .catchall {:try_start_a1 .. :try_end_a4} :catchall_b9
2671 - .catch Landroid/os/RemoteException; {:try_start_a1 .. :try_end_a4} :catch_a6
2672 + :try_end_c0
2673 + .catchall {:try_start_bd .. :try_end_c0} :catchall_d5
2674 + .catch Landroid/os/RemoteException; {:try_start_bd .. :try_end_c0} :catch_c2
2676 move-result-object v4
2678 - goto :goto_87
2679 + goto :goto_a3
2681 - :catch_a6
2682 + :catch_c2
2683 move-exception v18
2685 const/16 v22, 0x0
2687 - if-eqz v3, :cond_b0
2688 + if-eqz v3, :cond_cc
2690 move-object/from16 v0, p0
2692 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2694 - :cond_b0
2695 + :cond_cc
2696 if-eqz v10, :cond_8
2698 move-object/from16 v0, p0
2699 @@ -3707,23 +3735,23 @@
2701 goto/16 :goto_8
2703 - :catchall_b9
2704 + :catchall_d5
2705 move-exception v4
2707 - if-eqz v3, :cond_c1
2708 + if-eqz v3, :cond_dd
2710 move-object/from16 v0, p0
2712 invoke-virtual {v0, v3}, Landroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
2714 - :cond_c1
2715 - if-eqz v10, :cond_c8
2716 + :cond_dd
2717 + if-eqz v10, :cond_e4
2719 move-object/from16 v0, p0
2721 invoke-virtual {v0, v10}, Landroid/content/ContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
2723 - :cond_c8
2724 + :cond_e4
2725 throw v4
2726 .end method
2728 diff -Npru stock-framework/smali/android/content/ContextWrapper.smali ext-framework/smali/android/content/ContextWrapper.smali
2729 --- stock-framework/smali/android/content/ContextWrapper.smali 2012-11-08 09:12:12.786922260 -0600
2730 +++ ext-framework/smali/android/content/ContextWrapper.smali 2012-11-08 09:11:52.390821123 -0600
2731 @@ -3,6 +3,10 @@
2732 .source "ContextWrapper.java"
2735 +# static fields
2736 +.field private static final TAG:Ljava/lang/String; = "PrivacyContextWrapper"
2739 # instance fields
2740 .field mBase:Landroid/content/Context;
2742 diff -Npru stock-framework/smali/android/hardware/Camera$EventHandler.smali ext-framework/smali/android/hardware/Camera$EventHandler.smali
2743 --- stock-framework/smali/android/hardware/Camera$EventHandler.smali 2012-11-08 09:12:16.134938863 -0600
2744 +++ ext-framework/smali/android/hardware/Camera$EventHandler.smali 2012-11-08 09:11:55.694837503 -0600
2745 @@ -36,450 +36,694 @@
2747 # virtual methods
2748 .method public handleMessage(Landroid/os/Message;)V
2749 - .registers 9
2750 + .registers 16
2752 - const/4 v3, 0x1
2753 + const/4 v7, 0x1
2755 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2757 + #getter for: Landroid/hardware/Camera;->privacyMode:Z
2758 + invoke-static {v0}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Z
2760 + move-result v0
2762 + if-nez v0, :cond_e
2764 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2766 + #calls: Landroid/hardware/Camera;->initiate()V
2767 + invoke-static {v0}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)V
2769 + :cond_e
2770 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2772 + #calls: Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
2773 + invoke-static {v0}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
2775 + move-result-object v10
2777 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2779 + #calls: Landroid/hardware/Camera;->checkIfPackagesAllowed()I
2780 + invoke-static {v0}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)I
2782 + move-result v0
2784 + const/4 v1, -0x2
2786 + if-ne v0, v1, :cond_68
2788 + const/4 v7, 0x0
2790 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2792 + const/4 v1, 0x0
2794 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
2795 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
2797 + if-eqz v10, :cond_48
2799 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2801 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2802 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
2804 + move-result-object v0
2806 + const/4 v1, 0x0
2808 + aget-object v1, v10, v1
2810 const/4 v2, 0x0
2812 - iget v4, p1, Landroid/os/Message;->what:I
2813 + const/4 v3, 0x1
2815 + const-string v4, "camera"
2817 + const/4 v5, 0x0
2819 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2821 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2822 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
2824 - sparse-switch v4, :sswitch_data_174
2825 + move-result-object v6
2827 - const-string v3, "Camera"
2828 + const/4 v12, 0x0
2830 - new-instance v4, Ljava/lang/StringBuilder;
2831 + aget-object v12, v10, v12
2833 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
2834 + invoke-static {}, Landroid/os/Process;->myUid()I
2836 - const-string v5, "Unknown message type "
2837 + move-result v13
2839 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2840 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
2842 - move-result-object v4
2843 + move-result-object v6
2845 - iget v5, p1, Landroid/os/Message;->what:I
2846 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
2848 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2849 + :cond_48
2850 + :goto_48
2851 + iget v0, p1, Landroid/os/Message;->what:I
2853 - move-result-object v4
2854 + sparse-switch v0, :sswitch_data_244
2856 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2857 + const-string v0, "Camera"
2859 - move-result-object v4
2860 + new-instance v1, Ljava/lang/StringBuilder;
2862 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2863 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
2865 - :cond_21
2866 - :goto_21
2867 + const-string v2, "Unknown message type "
2869 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
2871 + move-result-object v1
2873 + iget v2, p1, Landroid/os/Message;->what:I
2875 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
2877 + move-result-object v1
2879 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
2881 + move-result-object v1
2883 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
2885 + :cond_67
2886 + :goto_67
2887 return-void
2889 - :sswitch_22
2890 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2891 + :cond_68
2892 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2894 + const/4 v1, 0x1
2896 + #calls: Landroid/hardware/Camera;->dataAccess(Z)V
2897 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;Z)V
2899 + if-eqz v10, :cond_48
2901 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2903 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2904 + invoke-static {v0}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
2906 + move-result-object v0
2908 + const/4 v1, 0x0
2910 + aget-object v1, v10, v1
2912 + const/4 v2, 0x0
2914 + const/4 v3, 0x0
2916 + const-string v4, "camera"
2918 + const/4 v5, 0x0
2920 + iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2922 + #getter for: Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
2923 + invoke-static {v6}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
2925 + move-result-object v6
2927 + const/4 v12, 0x0
2929 + aget-object v12, v10, v12
2931 + invoke-static {}, Landroid/os/Process;->myUid()I
2933 + move-result v13
2935 + invoke-virtual {v6, v12, v13}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
2937 + move-result-object v6
2939 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
2941 + goto :goto_48
2943 + :sswitch_93
2944 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2946 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
2947 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
2948 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
2950 - move-result-object v3
2951 + move-result-object v0
2953 - if-eqz v3, :cond_21
2954 + if-eqz v0, :cond_67
2956 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2957 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2959 #getter for: Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
2960 - invoke-static {v3}, Landroid/hardware/Camera;->access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
2961 + invoke-static {v0}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
2963 - move-result-object v3
2964 + move-result-object v0
2966 - invoke-interface {v3}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
2967 + invoke-interface {v0}, Landroid/hardware/Camera$ShutterCallback;->onShutter()V
2969 - goto :goto_21
2970 + goto :goto_67
2972 - :sswitch_34
2973 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2974 + :sswitch_a5
2975 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2977 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
2978 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
2979 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
2981 - move-result-object v3
2982 + move-result-object v0
2984 + if-eqz v0, :cond_67
2986 - if-eqz v3, :cond_21
2987 + if-eqz v7, :cond_c1
2989 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2990 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
2992 #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
2993 - invoke-static {v3}, Landroid/hardware/Camera;->access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
2994 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
2996 + move-result-object v1
2998 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3000 - move-result-object v4
3001 + check-cast v0, [B
3003 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3004 + check-cast v0, [B
3006 - check-cast v3, [B
3007 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3009 - check-cast v3, [B
3010 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3012 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3013 + goto :goto_67
3015 + :cond_c1
3016 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3018 + #getter for: Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
3019 + invoke-static {v0}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3021 + move-result-object v0
3023 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3024 + const/4 v1, 0x0
3026 - goto :goto_21
3027 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3029 - :sswitch_4e
3030 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3031 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3033 + goto :goto_67
3035 + :sswitch_ce
3036 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3038 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
3039 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3040 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3042 + move-result-object v0
3044 - move-result-object v3
3045 + if-eqz v0, :cond_67
3047 - if-eqz v3, :cond_21
3048 + if-eqz v7, :cond_eb
3050 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3051 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3053 #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
3054 - invoke-static {v3}, Landroid/hardware/Camera;->access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3055 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3057 - move-result-object v4
3058 + move-result-object v1
3060 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3061 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3063 - check-cast v3, [B
3064 + check-cast v0, [B
3066 - check-cast v3, [B
3067 + check-cast v0, [B
3069 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3070 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3072 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3073 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3075 - goto :goto_21
3076 + goto/16 :goto_67
3078 - :sswitch_68
3079 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3080 + :cond_eb
3081 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3083 - #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3084 - invoke-static {v4}, Landroid/hardware/Camera;->access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
3085 + #getter for: Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
3086 + invoke-static {v0}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3088 + move-result-object v0
3090 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3092 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
3093 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
3095 move-result-object v1
3097 - if-eqz v1, :cond_21
3098 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3100 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3102 + goto/16 :goto_67
3104 + :sswitch_fe
3105 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3107 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3108 + #getter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3109 + invoke-static {v0}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
3111 + move-result-object v9
3113 + if-eqz v9, :cond_67
3115 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3117 #getter for: Landroid/hardware/Camera;->mOneShot:Z
3118 - invoke-static {v4}, Landroid/hardware/Camera;->access$400(Landroid/hardware/Camera;)Z
3119 + invoke-static {v0}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Z
3121 - move-result v4
3122 + move-result v0
3124 - if-eqz v4, :cond_8a
3125 + if-eqz v0, :cond_123
3127 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3128 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3130 - const/4 v4, 0x0
3131 + const/4 v1, 0x0
3133 #setter for: Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3134 - invoke-static {v3, v4}, Landroid/hardware/Camera;->access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
3135 + invoke-static {v0, v1}, Landroid/hardware/Camera;->access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
3137 + :cond_114
3138 + :goto_114
3139 + if-eqz v7, :cond_133
3141 - :cond_7e
3142 - :goto_7e
3143 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3144 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3146 - check-cast v3, [B
3147 + check-cast v0, [B
3149 - check-cast v3, [B
3150 + check-cast v0, [B
3152 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3153 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3155 - invoke-interface {v1, v3, v4}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
3156 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
3158 - goto :goto_21
3159 + goto/16 :goto_67
3161 - :cond_8a
3162 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3163 + :cond_123
3164 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3166 #getter for: Landroid/hardware/Camera;->mWithBuffer:Z
3167 - invoke-static {v4}, Landroid/hardware/Camera;->access$500(Landroid/hardware/Camera;)Z
3168 + invoke-static {v0}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Z
3170 - move-result v4
3171 + move-result v0
3173 - if-nez v4, :cond_7e
3174 + if-nez v0, :cond_114
3176 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3177 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3179 + const/4 v1, 0x1
3181 + const/4 v2, 0x0
3183 #calls: Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
3184 - invoke-static {v4, v3, v2}, Landroid/hardware/Camera;->access$600(Landroid/hardware/Camera;ZZ)V
3185 + invoke-static {v0, v1, v2}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;ZZ)V
3187 + goto :goto_114
3189 + :cond_133
3190 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3192 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
3193 + invoke-static {v0}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
3195 + move-result-object v0
3197 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3199 + invoke-interface {v9, v0, v1}, Landroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
3201 - goto :goto_7e
3202 + goto/16 :goto_67
3204 - :sswitch_98
3205 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3206 + :sswitch_140
3207 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3209 #getter for: Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
3210 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3211 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3213 + move-result-object v0
3215 + if-eqz v0, :cond_67
3217 + if-eqz v7, :cond_15d
3219 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3221 + #getter for: Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
3222 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3224 + move-result-object v1
3226 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3228 - move-result-object v3
3229 + check-cast v0, [I
3231 - if-eqz v3, :cond_21
3232 + check-cast v0, [I
3234 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3235 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3237 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$CameraMetaDataCallback;->onCameraMetaData([ILandroid/hardware/Camera;)V
3239 + goto/16 :goto_67
3241 + :cond_15d
3242 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3244 #getter for: Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
3245 - invoke-static {v3}, Landroid/hardware/Camera;->access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3246 + invoke-static {v0}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3248 + move-result-object v0
3250 - move-result-object v4
3251 + const/4 v1, 0x0
3253 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3254 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3256 - check-cast v3, [I
3257 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$CameraMetaDataCallback;->onCameraMetaData([ILandroid/hardware/Camera;)V
3259 - check-cast v3, [I
3260 + goto/16 :goto_67
3262 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3263 + :sswitch_16b
3264 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3266 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$CameraMetaDataCallback;->onCameraMetaData([ILandroid/hardware/Camera;)V
3267 + #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
3268 + invoke-static {v0}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3270 + move-result-object v0
3272 - goto/16 :goto_21
3273 + if-eqz v0, :cond_67
3275 - :sswitch_b3
3276 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3277 + if-eqz v7, :cond_188
3279 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3281 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
3282 - invoke-static {v3}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3283 + invoke-static {v0}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3285 + move-result-object v1
3287 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3289 + check-cast v0, [B
3291 + check-cast v0, [B
3293 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3295 - move-result-object v3
3296 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3298 - if-eqz v3, :cond_21
3299 + goto/16 :goto_67
3301 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3302 + :cond_188
3303 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3305 #getter for: Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
3306 - invoke-static {v3}, Landroid/hardware/Camera;->access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3307 + invoke-static {v0}, Landroid/hardware/Camera;->access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3309 - move-result-object v4
3310 + move-result-object v0
3312 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3313 + iget-object v1, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3315 - check-cast v3, [B
3316 + #calls: Landroid/hardware/Camera;->getFakeImage()[B
3317 + invoke-static {v1}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)[B
3319 - check-cast v3, [B
3320 + move-result-object v1
3322 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3323 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3325 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3326 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$PictureCallback;->onPictureTaken([BLandroid/hardware/Camera;)V
3328 - goto/16 :goto_21
3329 + goto/16 :goto_67
3331 - :sswitch_ce
3332 - const/4 v0, 0x0
3333 + :sswitch_19b
3334 + const/4 v8, 0x0
3336 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3337 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3339 #getter for: Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
3340 - invoke-static {v4}, Landroid/hardware/Camera;->access$900(Landroid/hardware/Camera;)Ljava/lang/Object;
3341 + invoke-static {v0}, Landroid/hardware/Camera;->access$1600(Landroid/hardware/Camera;)Ljava/lang/Object;
3343 - move-result-object v4
3344 + move-result-object v1
3346 - monitor-enter v4
3347 + monitor-enter v1
3349 - :try_start_d6
3350 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3351 + :try_start_1a3
3352 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3354 #getter for: Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
3355 - invoke-static {v5}, Landroid/hardware/Camera;->access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
3356 + invoke-static {v0}, Landroid/hardware/Camera;->access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
3358 - move-result-object v0
3359 + move-result-object v8
3361 - monitor-exit v4
3362 - :try_end_dd
3363 - .catchall {:try_start_d6 .. :try_end_dd} :catchall_ea
3364 + monitor-exit v1
3365 + :try_end_1aa
3366 + .catchall {:try_start_1a3 .. :try_end_1aa} :catchall_1b8
3368 - if-eqz v0, :cond_21
3369 + if-eqz v8, :cond_67
3371 - iget v4, p1, Landroid/os/Message;->arg1:I
3372 + iget v0, p1, Landroid/os/Message;->arg1:I
3374 - if-nez v4, :cond_ed
3375 + if-nez v0, :cond_1bb
3377 - :goto_e3
3378 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3379 + const/4 v11, 0x0
3381 + :goto_1b1
3382 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3384 - invoke-interface {v0, v2, v3}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
3385 + invoke-interface {v8, v11, v0}, Landroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
3387 - goto/16 :goto_21
3388 + goto/16 :goto_67
3390 - :catchall_ea
3391 - move-exception v3
3392 + :catchall_1b8
3393 + move-exception v0
3395 - :try_start_eb
3396 - monitor-exit v4
3397 - :try_end_ec
3398 - .catchall {:try_start_eb .. :try_end_ec} :catchall_ea
3399 + :try_start_1b9
3400 + monitor-exit v1
3401 + :try_end_1ba
3402 + .catchall {:try_start_1b9 .. :try_end_1ba} :catchall_1b8
3404 - throw v3
3405 + throw v0
3407 - :cond_ed
3408 - move v2, v3
3409 + :cond_1bb
3410 + const/4 v11, 0x1
3412 - goto :goto_e3
3413 + goto :goto_1b1
3415 - :sswitch_ef
3416 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3417 + :sswitch_1bd
3418 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3420 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
3421 - invoke-static {v4}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
3422 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
3424 - move-result-object v4
3425 + move-result-object v0
3427 - if-eqz v4, :cond_21
3428 + if-eqz v0, :cond_67
3430 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3431 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3433 #getter for: Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
3434 - invoke-static {v4}, Landroid/hardware/Camera;->access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
3435 + invoke-static {v0}, Landroid/hardware/Camera;->access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
3437 + move-result-object v1
3439 - move-result-object v4
3440 + iget v2, p1, Landroid/os/Message;->arg1:I
3442 - iget v5, p1, Landroid/os/Message;->arg1:I
3443 + iget v0, p1, Landroid/os/Message;->arg2:I
3445 - iget v6, p1, Landroid/os/Message;->arg2:I
3446 + if-eqz v0, :cond_1d9
3448 - if-eqz v6, :cond_10a
3449 + const/4 v0, 0x1
3451 - :goto_103
3452 - iget-object v6, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3453 + :goto_1d2
3454 + iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3456 - invoke-interface {v4, v5, v3, v6}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
3457 + invoke-interface {v1, v2, v0, v3}, Landroid/hardware/Camera$OnZoomChangeListener;->onZoomChange(IZLandroid/hardware/Camera;)V
3459 - goto/16 :goto_21
3460 + goto/16 :goto_67
3462 - :cond_10a
3463 - move v3, v2
3464 + :cond_1d9
3465 + const/4 v0, 0x0
3467 - goto :goto_103
3468 + goto :goto_1d2
3470 - :sswitch_10c
3471 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3472 + :sswitch_1db
3473 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3475 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
3476 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
3477 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
3479 - move-result-object v3
3480 + move-result-object v0
3482 - if-eqz v3, :cond_21
3483 + if-eqz v0, :cond_67
3485 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3486 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3488 #getter for: Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
3489 - invoke-static {v3}, Landroid/hardware/Camera;->access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
3490 + invoke-static {v0}, Landroid/hardware/Camera;->access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
3492 - move-result-object v4
3493 + move-result-object v1
3495 - iget-object v3, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3496 + iget-object v0, p1, Landroid/os/Message;->obj:Ljava/lang/Object;
3498 - check-cast v3, [Landroid/hardware/Camera$Face;
3499 + check-cast v0, [Landroid/hardware/Camera$Face;
3501 - check-cast v3, [Landroid/hardware/Camera$Face;
3502 + check-cast v0, [Landroid/hardware/Camera$Face;
3504 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3505 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3507 - invoke-interface {v4, v3, v5}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
3508 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$FaceDetectionListener;->onFaceDetection([Landroid/hardware/Camera$Face;Landroid/hardware/Camera;)V
3510 - goto/16 :goto_21
3511 + goto/16 :goto_67
3513 - :sswitch_127
3514 - const-string v3, "Camera"
3515 + :sswitch_1f6
3516 + const-string v0, "Camera"
3518 - new-instance v4, Ljava/lang/StringBuilder;
3519 + new-instance v1, Ljava/lang/StringBuilder;
3521 - invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
3522 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
3524 - const-string v5, "Error "
3525 + const-string v2, "Error "
3527 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3528 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
3530 - move-result-object v4
3531 + move-result-object v1
3533 - iget v5, p1, Landroid/os/Message;->arg1:I
3534 + iget v2, p1, Landroid/os/Message;->arg1:I
3536 - invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3537 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
3539 - move-result-object v4
3540 + move-result-object v1
3542 - invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3543 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
3545 - move-result-object v4
3546 + move-result-object v1
3548 - invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3549 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
3551 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3552 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3554 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
3555 - invoke-static {v3}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
3556 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
3558 - move-result-object v3
3559 + move-result-object v0
3561 - if-eqz v3, :cond_21
3562 + if-eqz v0, :cond_67
3564 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3565 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3567 #getter for: Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
3568 - invoke-static {v3}, Landroid/hardware/Camera;->access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
3569 + invoke-static {v0}, Landroid/hardware/Camera;->access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
3571 - move-result-object v3
3572 + move-result-object v0
3574 - iget v4, p1, Landroid/os/Message;->arg1:I
3575 + iget v1, p1, Landroid/os/Message;->arg1:I
3577 - iget-object v5, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3578 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3580 - invoke-interface {v3, v4, v5}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
3581 + invoke-interface {v0, v1, v2}, Landroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
3583 - goto/16 :goto_21
3584 + goto/16 :goto_67
3586 - :sswitch_158
3587 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3588 + :sswitch_227
3589 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3591 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
3592 - invoke-static {v4}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
3593 + invoke-static {v0}, Landroid/hardware/Camera;->access$2100(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
3595 - move-result-object v4
3596 + move-result-object v0
3598 - if-eqz v4, :cond_21
3599 + if-eqz v0, :cond_67
3601 - iget-object v4, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3602 + iget-object v0, p0, Landroid/hardware/Camera$EventHandler;->this$0:Landroid/hardware/Camera;
3604 #getter for: Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
3605 - invoke-static {v4}, Landroid/hardware/Camera;->access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
3606 + invoke-static {v0}, Landroid/hardware/Camera;->access$2100(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
3608 - move-result-object v4
3609 + move-result-object v1
3611 - iget v5, p1, Landroid/os/Message;->arg1:I
3612 + iget v0, p1, Landroid/os/Message;->arg1:I
3614 - if-nez v5, :cond_171
3615 + if-nez v0, :cond_241
3617 - :goto_16a
3618 - iget-object v3, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3619 + const/4 v0, 0x0
3621 + :goto_23a
3622 + iget-object v2, p0, Landroid/hardware/Camera$EventHandler;->mCamera:Landroid/hardware/Camera;
3624 - invoke-interface {v4, v2, v3}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
3625 + invoke-interface {v1, v0, v2}, Landroid/hardware/Camera$AutoFocusMoveCallback;->onAutoFocusMoving(ZLandroid/hardware/Camera;)V
3627 - goto/16 :goto_21
3628 + goto/16 :goto_67
3630 - :cond_171
3631 - move v2, v3
3632 + :cond_241
3633 + const/4 v0, 0x1
3635 - goto :goto_16a
3636 + goto :goto_23a
3640 - :sswitch_data_174
3641 + :sswitch_data_244
3642 .sparse-switch
3643 - 0x1 -> :sswitch_127
3644 - 0x2 -> :sswitch_22
3645 - 0x4 -> :sswitch_ce
3646 - 0x8 -> :sswitch_ef
3647 - 0x10 -> :sswitch_68
3648 - 0x40 -> :sswitch_b3
3649 - 0x80 -> :sswitch_34
3650 - 0x100 -> :sswitch_4e
3651 - 0x400 -> :sswitch_10c
3652 - 0x800 -> :sswitch_158
3653 - 0x8000 -> :sswitch_98
3654 + 0x1 -> :sswitch_1f6
3655 + 0x2 -> :sswitch_93
3656 + 0x4 -> :sswitch_19b
3657 + 0x8 -> :sswitch_1bd
3658 + 0x10 -> :sswitch_fe
3659 + 0x40 -> :sswitch_16b
3660 + 0x80 -> :sswitch_a5
3661 + 0x100 -> :sswitch_ce
3662 + 0x400 -> :sswitch_1db
3663 + 0x800 -> :sswitch_227
3664 + 0x8000 -> :sswitch_140
3665 .end sparse-switch
3666 .end method
3667 diff -Npru stock-framework/smali/android/hardware/Camera.smali ext-framework/smali/android/hardware/Camera.smali
3668 --- stock-framework/smali/android/hardware/Camera.smali 2012-11-08 09:12:16.142938907 -0600
3669 +++ ext-framework/smali/android/hardware/Camera.smali 2012-11-08 09:11:55.702837549 -0600
3670 @@ -67,10 +67,20 @@
3672 .field private static final CAMERA_MSG_ZOOM:I = 0x8
3674 +.field private static final GOT_ERROR:I = -0x3
3676 +.field private static final IS_ALLOWED:I = -0x1
3678 +.field private static final IS_NOT_ALLOWED:I = -0x2
3680 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,Camera"
3682 .field private static final TAG:Ljava/lang/String; = "Camera"
3685 # instance fields
3686 +.field private context:Landroid/content/Context;
3688 .field private mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
3690 .field private mAutoFocusCallbackLock:Ljava/lang/Object;
3691 @@ -95,6 +105,8 @@
3693 .field private mOneShot:Z
3695 +.field private mPm:Landroid/content/pm/IPackageManager;
3697 .field private mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
3699 .field private mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3700 @@ -107,16 +119,20 @@
3702 .field private mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
3704 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
3706 +.field private privacyMode:Z
3709 # direct methods
3710 .method constructor <init>()V
3711 - .registers 2
3712 + .registers 3
3714 - invoke-direct {p0}, Ljava/lang/Object;-><init>()V
3715 + const/4 v1, 0x0
3717 - const/4 v0, 0x0
3718 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
3720 - iput-boolean v0, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
3721 + iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
3723 new-instance v0, Ljava/lang/Object;
3725 @@ -124,19 +140,21 @@
3727 iput-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
3729 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
3731 return-void
3732 .end method
3734 .method constructor <init>(I)V
3735 - .registers 5
3736 + .registers 6
3738 + const/4 v3, 0x0
3740 const/4 v2, 0x0
3742 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
3744 - const/4 v1, 0x0
3746 - iput-boolean v1, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
3747 + iput-boolean v3, p0, Landroid/hardware/Camera;->mFaceDetectionRunning:Z
3749 new-instance v1, Ljava/lang/Object;
3751 @@ -144,6 +162,8 @@
3753 iput-object v1, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
3755 + iput-boolean v3, p0, Landroid/hardware/Camera;->privacyMode:Z
3757 iput-object v2, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
3759 iput-object v2, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
3760 @@ -160,11 +180,13 @@
3762 iput-object v2, p0, Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
3764 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
3766 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
3768 move-result-object v0
3770 - if-eqz v0, :cond_34
3771 + if-eqz v0, :cond_39
3773 new-instance v1, Landroid/hardware/Camera$EventHandler;
3775 @@ -172,7 +194,7 @@
3777 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
3779 - :goto_2b
3780 + :goto_30
3781 new-instance v1, Ljava/lang/ref/WeakReference;
3783 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
3784 @@ -181,12 +203,12 @@
3786 return-void
3788 - :cond_34
3789 + :cond_39
3790 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
3792 move-result-object v0
3794 - if-eqz v0, :cond_42
3795 + if-eqz v0, :cond_47
3797 new-instance v1, Landroid/hardware/Camera$EventHandler;
3799 @@ -194,12 +216,12 @@
3801 iput-object v1, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
3803 - goto :goto_2b
3804 + goto :goto_30
3806 - :cond_42
3807 + :cond_47
3808 iput-object v2, p0, Landroid/hardware/Camera;->mEventHandler:Landroid/hardware/Camera$EventHandler;
3810 - goto :goto_2b
3811 + goto :goto_30
3812 .end method
3814 .method private final native _addCallbackBuffer([BI)V
3815 @@ -214,114 +236,174 @@
3816 .method private final native _stopPreview()V
3817 .end method
3819 -.method static synthetic access$000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
3820 +.method static synthetic access$000(Landroid/hardware/Camera;)Z
3821 .registers 2
3823 - iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
3824 + iget-boolean v0, p0, Landroid/hardware/Camera;->privacyMode:Z
3826 - return-object v0
3827 + return v0
3828 .end method
3830 -.method static synthetic access$100(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3831 +.method static synthetic access$100(Landroid/hardware/Camera;)V
3832 + .registers 1
3834 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
3836 + return-void
3837 +.end method
3839 +.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
3840 .registers 2
3842 - iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
3843 + iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3845 return-object v0
3846 .end method
3848 -.method static synthetic access$1000(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
3849 +.method static synthetic access$1002(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
3850 .registers 2
3852 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
3853 + iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3855 + return-object p1
3856 +.end method
3858 +.method static synthetic access$1100(Landroid/hardware/Camera;)Z
3859 + .registers 2
3861 + iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
3863 + return v0
3864 +.end method
3866 +.method static synthetic access$1200(Landroid/hardware/Camera;)Z
3867 + .registers 2
3869 + iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
3871 + return v0
3872 +.end method
3874 +.method static synthetic access$1300(Landroid/hardware/Camera;ZZ)V
3875 + .registers 3
3877 + invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
3879 + return-void
3880 +.end method
3882 +.method static synthetic access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3883 + .registers 2
3885 + iget-object v0, p0, Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
3887 return-object v0
3888 .end method
3890 -.method static synthetic access$1100(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
3891 +.method static synthetic access$1500(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3892 .registers 2
3894 - iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
3895 + iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
3897 return-object v0
3898 .end method
3900 -.method static synthetic access$1200(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
3901 +.method static synthetic access$1600(Landroid/hardware/Camera;)Ljava/lang/Object;
3902 .registers 2
3904 - iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
3905 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
3907 return-object v0
3908 .end method
3910 -.method static synthetic access$1300(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
3911 +.method static synthetic access$1700(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusCallback;
3912 .registers 2
3914 - iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
3915 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallback:Landroid/hardware/Camera$AutoFocusCallback;
3917 return-object v0
3918 .end method
3920 -.method static synthetic access$1400(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
3921 +.method static synthetic access$1800(Landroid/hardware/Camera;)Landroid/hardware/Camera$OnZoomChangeListener;
3922 .registers 2
3924 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
3925 + iget-object v0, p0, Landroid/hardware/Camera;->mZoomListener:Landroid/hardware/Camera$OnZoomChangeListener;
3927 return-object v0
3928 .end method
3930 -.method static synthetic access$200(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
3931 +.method static synthetic access$1900(Landroid/hardware/Camera;)Landroid/hardware/Camera$FaceDetectionListener;
3932 .registers 2
3934 - iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
3935 + iget-object v0, p0, Landroid/hardware/Camera;->mFaceListener:Landroid/hardware/Camera$FaceDetectionListener;
3937 return-object v0
3938 .end method
3940 -.method static synthetic access$300(Landroid/hardware/Camera;)Landroid/hardware/Camera$PreviewCallback;
3941 +.method static synthetic access$200(Landroid/hardware/Camera;)[Ljava/lang/String;
3942 .registers 2
3944 - iget-object v0, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3945 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
3947 + move-result-object v0
3949 return-object v0
3950 .end method
3952 -.method static synthetic access$302(Landroid/hardware/Camera;Landroid/hardware/Camera$PreviewCallback;)Landroid/hardware/Camera$PreviewCallback;
3953 +.method static synthetic access$2000(Landroid/hardware/Camera;)Landroid/hardware/Camera$ErrorCallback;
3954 .registers 2
3956 - iput-object p1, p0, Landroid/hardware/Camera;->mPreviewCallback:Landroid/hardware/Camera$PreviewCallback;
3957 + iget-object v0, p0, Landroid/hardware/Camera;->mErrorCallback:Landroid/hardware/Camera$ErrorCallback;
3959 - return-object p1
3960 + return-object v0
3961 .end method
3963 -.method static synthetic access$400(Landroid/hardware/Camera;)Z
3964 +.method static synthetic access$2100(Landroid/hardware/Camera;)Landroid/hardware/Camera$AutoFocusMoveCallback;
3965 .registers 2
3967 - iget-boolean v0, p0, Landroid/hardware/Camera;->mOneShot:Z
3968 + iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusMoveCallback:Landroid/hardware/Camera$AutoFocusMoveCallback;
3970 - return v0
3971 + return-object v0
3972 .end method
3974 -.method static synthetic access$500(Landroid/hardware/Camera;)Z
3975 +.method static synthetic access$300(Landroid/hardware/Camera;)I
3976 .registers 2
3978 - iget-boolean v0, p0, Landroid/hardware/Camera;->mWithBuffer:Z
3979 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
3981 + move-result v0
3983 return v0
3984 .end method
3986 -.method static synthetic access$600(Landroid/hardware/Camera;ZZ)V
3987 - .registers 3
3988 +.method static synthetic access$400(Landroid/hardware/Camera;Z)V
3989 + .registers 2
3991 - invoke-direct {p0, p1, p2}, Landroid/hardware/Camera;->setHasPreviewCallback(ZZ)V
3992 + invoke-direct {p0, p1}, Landroid/hardware/Camera;->dataAccess(Z)V
3994 return-void
3995 .end method
3997 -.method static synthetic access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$CameraMetaDataCallback;
3998 +.method static synthetic access$500(Landroid/hardware/Camera;)Landroid/privacy/PrivacySettingsManager;
3999 .registers 2
4001 - iget-object v0, p0, Landroid/hardware/Camera;->mCameraMetaDataCallback:Landroid/hardware/Camera$CameraMetaDataCallback;
4002 + iget-object v0, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4004 + return-object v0
4005 +.end method
4007 +.method static synthetic access$600(Landroid/hardware/Camera;)Landroid/hardware/Camera$ShutterCallback;
4008 + .registers 2
4010 + iget-object v0, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4012 + return-object v0
4013 +.end method
4015 +.method static synthetic access$700(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4016 + .registers 2
4018 + iget-object v0, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4020 return-object v0
4021 .end method
4022 @@ -329,15 +411,17 @@
4023 .method static synthetic access$800(Landroid/hardware/Camera;)Landroid/hardware/Camera$PictureCallback;
4024 .registers 2
4026 - iget-object v0, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
4027 + iget-object v0, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
4029 return-object v0
4030 .end method
4032 -.method static synthetic access$900(Landroid/hardware/Camera;)Ljava/lang/Object;
4033 +.method static synthetic access$900(Landroid/hardware/Camera;)[B
4034 .registers 2
4036 - iget-object v0, p0, Landroid/hardware/Camera;->mAutoFocusCallbackLock:Ljava/lang/Object;
4037 + invoke-direct {p0}, Landroid/hardware/Camera;->getFakeImage()[B
4039 + move-result-object v0
4041 return-object v0
4042 .end method
4043 @@ -419,6 +503,205 @@
4044 return v2
4045 .end method
4047 +.method private checkIfPackagesAllowed()I
4048 + .registers 9
4050 + const/4 v5, -0x3
4052 + :try_start_1
4053 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4055 + if-eqz v6, :cond_41
4057 + const/4 v2, 0x0
4059 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
4061 + move-result-object v3
4063 + invoke-static {}, Landroid/os/Process;->myUid()I
4065 + move-result v4
4067 + if-eqz v3, :cond_2c
4069 + const/4 v1, 0x0
4071 + :goto_11
4072 + array-length v6, v3
4074 + if-ge v1, v6, :cond_2a
4076 + iget-object v6, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4078 + aget-object v7, v3, v1
4080 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4082 + move-result-object v2
4084 + if-eqz v2, :cond_26
4086 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
4088 + move-result v6
4090 + if-eqz v6, :cond_26
4092 + const/4 v5, -0x2
4094 + :goto_25
4095 + return v5
4097 + :cond_26
4098 + const/4 v2, 0x0
4100 + add-int/lit8 v1, v1, 0x1
4102 + goto :goto_11
4104 + :cond_2a
4105 + const/4 v5, -0x1
4107 + goto :goto_25
4109 + :cond_2c
4110 + const-string v6, "PM,Camera"
4112 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
4114 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4115 + :try_end_34
4116 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
4118 + goto :goto_25
4120 + :catch_35
4121 + move-exception v0
4123 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
4125 + const-string v6, "PM,Camera"
4127 + const-string v7, "Got exception in checkIfPackagesAllowed"
4129 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4131 + goto :goto_25
4133 + :cond_41
4134 + :try_start_41
4135 + const-string v6, "PM,Camera"
4137 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
4139 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4140 + :try_end_49
4141 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
4143 + goto :goto_25
4144 +.end method
4146 +.method private dataAccess(Z)V
4147 + .registers 7
4149 + invoke-direct {p0}, Landroid/hardware/Camera;->getPackageName()[Ljava/lang/String;
4151 + move-result-object v1
4153 + if-eqz p1, :cond_2f
4155 + if-eqz v1, :cond_2f
4157 + const/4 v0, 0x0
4159 + :goto_9
4160 + array-length v2, v1
4162 + if-ge v0, v2, :cond_58
4164 + const-string v2, "PM,Camera"
4166 + new-instance v3, Ljava/lang/StringBuilder;
4168 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4170 + const-string v4, "Allowed Package: -"
4172 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4174 + move-result-object v3
4176 + aget-object v4, v1, v0
4178 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4180 + move-result-object v3
4182 + const-string v4, "- accessing camera."
4184 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4186 + move-result-object v3
4188 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4190 + move-result-object v3
4192 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
4194 + add-int/lit8 v0, v0, 0x1
4196 + goto :goto_9
4198 + :cond_2f
4199 + if-eqz v1, :cond_58
4201 + const/4 v0, 0x0
4203 + :goto_32
4204 + array-length v2, v1
4206 + if-ge v0, v2, :cond_58
4208 + const-string v2, "PM,Camera"
4210 + new-instance v3, Ljava/lang/StringBuilder;
4212 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4214 + const-string v4, "Blocked Package: -"
4216 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4218 + move-result-object v3
4220 + aget-object v4, v1, v0
4222 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4224 + move-result-object v3
4226 + const-string v4, "- accessing camera."
4228 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4230 + move-result-object v3
4232 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4234 + move-result-object v3
4236 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
4238 + add-int/lit8 v0, v0, 0x1
4240 + goto :goto_32
4242 + :cond_58
4243 + return-void
4244 +.end method
4246 .method private native enableFocusMoveCallback(I)V
4247 .end method
4249 @@ -443,9 +726,193 @@
4250 return-object v1
4251 .end method
4253 +.method private getFakeImage()[B
4254 + .registers 9
4256 + :try_start_0
4257 + const-string v2, "/system/media/PDroid.jpeg"
4259 + new-instance v5, Ljava/io/File;
4261 + invoke-direct {v5, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
4263 + const/4 v3, 0x0
4265 + new-instance v3, Ljava/io/FileInputStream;
4267 + invoke-direct {v3, v5}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
4269 + invoke-static {v3}, Landroid/graphics/BitmapFactory;->decodeStream(Ljava/io/InputStream;)Landroid/graphics/Bitmap;
4271 + move-result-object v0
4273 + new-instance v4, Ljava/io/ByteArrayOutputStream;
4275 + invoke-direct {v4}, Ljava/io/ByteArrayOutputStream;-><init>()V
4277 + sget-object v6, Landroid/graphics/Bitmap$CompressFormat;->JPEG:Landroid/graphics/Bitmap$CompressFormat;
4279 + const/16 v7, 0x64
4281 + invoke-virtual {v0, v6, v7, v4}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
4283 + invoke-virtual {v4}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
4284 + :try_end_20
4285 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_20} :catch_22
4287 + move-result-object v6
4289 + :goto_21
4290 + return-object v6
4292 + :catch_22
4293 + move-exception v1
4295 + const-string v6, "PM,Camera"
4297 + const-string/jumbo v7, "something went wrong with getting the picture!"
4299 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4301 + invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
4303 + const/4 v6, 0x0
4305 + goto :goto_21
4306 +.end method
4308 .method public static native getNumberOfCameras()I
4309 .end method
4311 +.method private getPackageName()[Ljava/lang/String;
4312 + .registers 6
4314 + :try_start_0
4315 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
4317 + if-eqz v3, :cond_f
4319 + invoke-static {}, Landroid/os/Process;->myUid()I
4321 + move-result v2
4323 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
4325 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
4327 + move-result-object v1
4329 + :goto_e
4330 + return-object v1
4332 + :cond_f
4333 + const-string/jumbo v3, "package"
4335 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4337 + move-result-object v3
4339 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
4341 + move-result-object v3
4343 + iput-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
4345 + invoke-static {}, Landroid/os/Process;->myUid()I
4347 + move-result v2
4349 + iget-object v3, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
4351 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
4352 + :try_end_25
4353 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
4355 + move-result-object v1
4357 + goto :goto_e
4359 + :catch_27
4360 + move-exception v0
4362 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
4364 + const-string v3, "PM,Camera"
4366 + const-string/jumbo v4, "something went wrong with getting package name"
4368 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4370 + const/4 v1, 0x0
4372 + goto :goto_e
4373 +.end method
4375 +.method private initiate()V
4376 + .registers 5
4378 + const/4 v1, 0x0
4380 + :try_start_1
4381 + iput-object v1, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
4383 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
4385 + iget-object v2, p0, Landroid/hardware/Camera;->context:Landroid/content/Context;
4387 + const-string/jumbo v3, "privacy"
4389 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4391 + move-result-object v3
4393 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
4395 + move-result-object v3
4397 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
4399 + iput-object v1, p0, Landroid/hardware/Camera;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4401 + const-string/jumbo v1, "package"
4403 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4405 + move-result-object v1
4407 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
4409 + move-result-object v1
4411 + iput-object v1, p0, Landroid/hardware/Camera;->mPm:Landroid/content/pm/IPackageManager;
4413 + const/4 v1, 0x1
4415 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
4416 + :try_end_27
4417 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
4419 + :goto_27
4420 + return-void
4422 + :catch_28
4423 + move-exception v0
4425 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
4427 + const-string v1, "PM,Camera"
4429 + const-string v2, "Something went wrong with initalize variables"
4431 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4433 + const/4 v1, 0x0
4435 + iput-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
4437 + goto :goto_27
4438 +.end method
4440 .method private final native native_autoFocus()V
4441 .end method
4443 @@ -1061,7 +1528,7 @@
4444 .end method
4446 .method public final takePicture(Landroid/hardware/Camera$ShutterCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;Landroid/hardware/Camera$PictureCallback;)V
4447 - .registers 7
4448 + .registers 8
4450 iput-object p1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4452 @@ -1071,36 +1538,62 @@
4454 iput-object p4, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
4456 + iget-boolean v1, p0, Landroid/hardware/Camera;->privacyMode:Z
4458 + if-nez v1, :cond_f
4460 + invoke-direct {p0}, Landroid/hardware/Camera;->initiate()V
4462 + :cond_f
4463 + invoke-direct {p0}, Landroid/hardware/Camera;->checkIfPackagesAllowed()I
4465 + move-result v1
4467 + const/4 v2, -0x2
4469 + if-ne v1, v2, :cond_20
4471 + const/4 v1, 0x0
4473 + iput-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4475 + const-string v1, "PM,Camera"
4477 + const-string v2, "blocked rawImageCallback -> it will never be called!"
4479 + invoke-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
4481 + :cond_20
4482 const/4 v0, 0x0
4484 iget-object v1, p0, Landroid/hardware/Camera;->mShutterCallback:Landroid/hardware/Camera$ShutterCallback;
4486 - if-eqz v1, :cond_f
4487 + if-eqz v1, :cond_27
4489 or-int/lit8 v0, v0, 0x2
4491 - :cond_f
4492 + :cond_27
4493 iget-object v1, p0, Landroid/hardware/Camera;->mRawImageCallback:Landroid/hardware/Camera$PictureCallback;
4495 - if-eqz v1, :cond_15
4496 + if-eqz v1, :cond_2d
4498 or-int/lit16 v0, v0, 0x80
4500 - :cond_15
4501 + :cond_2d
4502 iget-object v1, p0, Landroid/hardware/Camera;->mPostviewCallback:Landroid/hardware/Camera$PictureCallback;
4504 - if-eqz v1, :cond_1b
4505 + if-eqz v1, :cond_33
4507 or-int/lit8 v0, v0, 0x40
4509 - :cond_1b
4510 + :cond_33
4511 iget-object v1, p0, Landroid/hardware/Camera;->mJpegCallback:Landroid/hardware/Camera$PictureCallback;
4513 - if-eqz v1, :cond_21
4514 + if-eqz v1, :cond_39
4516 or-int/lit16 v0, v0, 0x100
4518 - :cond_21
4519 + :cond_39
4520 invoke-direct {p0, v0}, Landroid/hardware/Camera;->native_takePicture(I)V
4522 const/4 v1, 0x0
4523 diff -Npru stock-framework/smali/android/location/Location.smali ext-framework/smali/android/location/Location.smali
4524 --- stock-framework/smali/android/location/Location.smali 2012-11-08 09:12:16.262939502 -0600
4525 +++ ext-framework/smali/android/location/Location.smali 2012-11-08 09:11:55.894838498 -0600
4526 @@ -1707,7 +1707,7 @@
4528 move-result-object v0
4530 - const-string v1, "mHasAltitude="
4531 + const-string/jumbo v1, "mHasAltitude="
4533 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4535 @@ -1745,7 +1745,7 @@
4537 move-result-object v0
4539 - const-string v1, "mHasSpeed="
4540 + const-string/jumbo v1, "mHasSpeed="
4542 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4544 @@ -1783,7 +1783,7 @@
4546 move-result-object v0
4548 - const-string v1, "mHasBearing="
4549 + const-string/jumbo v1, "mHasBearing="
4551 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4553 @@ -1821,7 +1821,7 @@
4555 move-result-object v0
4557 - const-string v1, "mHasAccuracy="
4558 + const-string/jumbo v1, "mHasAccuracy="
4560 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4562 diff -Npru stock-framework/smali/android/media/AudioRecord.smali ext-framework/smali/android/media/AudioRecord.smali
4563 --- stock-framework/smali/android/media/AudioRecord.smali 2012-11-08 09:12:16.278939577 -0600
4564 +++ ext-framework/smali/android/media/AudioRecord.smali 2012-11-08 09:11:55.910838581 -0600
4565 @@ -29,10 +29,18 @@
4567 .field public static final ERROR_INVALID_OPERATION:I = -0x3
4569 +.field private static final GOT_ERROR:I = -0x3
4571 +.field private static final IS_ALLOWED:I = -0x1
4573 +.field private static final IS_NOT_ALLOWED:I = -0x2
4575 .field private static final NATIVE_EVENT_MARKER:I = 0x2
4577 .field private static final NATIVE_EVENT_NEW_POS:I = 0x3
4579 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,AudioRecord"
4581 .field public static final RECORDSTATE_RECORDING:I = 0x3
4583 .field public static final RECORDSTATE_STOPPED:I = 0x1
4584 @@ -47,6 +55,8 @@
4587 # instance fields
4588 +.field private context:Landroid/content/Context;
4590 .field private mAudioFormat:I
4592 .field private mChannelConfiguration:I
4593 @@ -65,6 +75,8 @@
4595 .field private mNativeRecorderInJavaObj:I
4597 +.field private mPm:Landroid/content/pm/IPackageManager;
4599 .field private mPositionListener:Landroid/media/AudioRecord$OnRecordPositionUpdateListener;
4601 .field private final mPositionListenerLock:Ljava/lang/Object;
4602 @@ -81,6 +93,10 @@
4604 .field private mState:I
4606 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
4608 +.field private privacyMode:Z
4611 # direct methods
4612 .method public constructor <init>(IIIII)V
4613 @@ -159,6 +175,10 @@
4615 const/4 v0, 0x0
4617 + iput-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
4619 + const/4 v0, 0x0
4621 iput v0, p0, Landroid/media/AudioRecord;->mState:I
4623 const/4 v0, 0x1
4624 @@ -171,7 +191,7 @@
4626 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
4628 - if-nez v0, :cond_4f
4629 + if-nez v0, :cond_52
4631 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
4633 @@ -179,7 +199,7 @@
4635 iput-object v0, p0, Landroid/media/AudioRecord;->mInitializationLooper:Landroid/os/Looper;
4637 - :cond_4f
4638 + :cond_52
4639 invoke-direct {p0, p1, p2, p3, p4}, Landroid/media/AudioRecord;->audioParamCheck(IIII)V
4641 invoke-direct {p0, p5}, Landroid/media/AudioRecord;->audioBuffSizeCheck(I)V
4642 @@ -214,7 +234,7 @@
4644 move-result v8
4646 - if-eqz v8, :cond_8f
4647 + if-eqz v8, :cond_92
4649 new-instance v0, Ljava/lang/StringBuilder;
4651 @@ -242,10 +262,12 @@
4653 invoke-static {v0}, Landroid/media/AudioRecord;->loge(Ljava/lang/String;)V
4655 - :goto_8e
4656 + :goto_91
4657 return-void
4659 - :cond_8f
4660 + :cond_92
4661 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
4663 const/4 v0, 0x0
4665 aget v0, v7, v0
4666 @@ -256,7 +278,7 @@
4668 iput v0, p0, Landroid/media/AudioRecord;->mState:I
4670 - goto :goto_8e
4671 + goto :goto_91
4672 .end method
4674 .method static synthetic access$000(Landroid/media/AudioRecord;)Ljava/lang/Object;
4675 @@ -459,6 +481,205 @@
4676 .end packed-switch
4677 .end method
4679 +.method private checkIfPackagesAllowed()I
4680 + .registers 9
4682 + const/4 v5, -0x3
4684 + :try_start_1
4685 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4687 + if-eqz v6, :cond_41
4689 + const/4 v2, 0x0
4691 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
4693 + move-result-object v3
4695 + invoke-static {}, Landroid/os/Process;->myUid()I
4697 + move-result v4
4699 + if-eqz v3, :cond_2c
4701 + const/4 v1, 0x0
4703 + :goto_11
4704 + array-length v6, v3
4706 + if-ge v1, v6, :cond_2a
4708 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4710 + aget-object v7, v3, v1
4712 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
4714 + move-result-object v2
4716 + if-eqz v2, :cond_26
4718 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
4720 + move-result v6
4722 + if-eqz v6, :cond_26
4724 + const/4 v5, -0x2
4726 + :goto_25
4727 + return v5
4729 + :cond_26
4730 + const/4 v2, 0x0
4732 + add-int/lit8 v1, v1, 0x1
4734 + goto :goto_11
4736 + :cond_2a
4737 + const/4 v5, -0x1
4739 + goto :goto_25
4741 + :cond_2c
4742 + const-string v6, "PM,AudioRecord"
4744 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
4746 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4747 + :try_end_34
4748 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
4750 + goto :goto_25
4752 + :catch_35
4753 + move-exception v0
4755 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
4757 + const-string v6, "PM,AudioRecord"
4759 + const-string v7, "Got exception in checkIfPackagesAllowed"
4761 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4763 + goto :goto_25
4765 + :cond_41
4766 + :try_start_41
4767 + const-string v6, "PM,AudioRecord"
4769 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
4771 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4772 + :try_end_49
4773 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
4775 + goto :goto_25
4776 +.end method
4778 +.method private dataAccess(Z)V
4779 + .registers 7
4781 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
4783 + move-result-object v1
4785 + if-eqz p1, :cond_2f
4787 + if-eqz v1, :cond_2f
4789 + const/4 v0, 0x0
4791 + :goto_9
4792 + array-length v2, v1
4794 + if-ge v0, v2, :cond_58
4796 + const-string v2, "PM,AudioRecord"
4798 + new-instance v3, Ljava/lang/StringBuilder;
4800 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4802 + const-string v4, "Allowed Package: -"
4804 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4806 + move-result-object v3
4808 + aget-object v4, v1, v0
4810 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4812 + move-result-object v3
4814 + const-string v4, "- accessing microphone."
4816 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4818 + move-result-object v3
4820 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4822 + move-result-object v3
4824 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
4826 + add-int/lit8 v0, v0, 0x1
4828 + goto :goto_9
4830 + :cond_2f
4831 + if-eqz v1, :cond_58
4833 + const/4 v0, 0x0
4835 + :goto_32
4836 + array-length v2, v1
4838 + if-ge v0, v2, :cond_58
4840 + const-string v2, "PM,AudioRecord"
4842 + new-instance v3, Ljava/lang/StringBuilder;
4844 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
4846 + const-string v4, "Blocked Package: -"
4848 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4850 + move-result-object v3
4852 + aget-object v4, v1, v0
4854 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4856 + move-result-object v3
4858 + const-string v4, "- accessing microphone."
4860 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
4862 + move-result-object v3
4864 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
4866 + move-result-object v3
4868 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
4870 + add-int/lit8 v0, v0, 0x1
4872 + goto :goto_32
4874 + :cond_58
4875 + return-void
4876 +.end method
4878 .method public static getMinBufferSize(III)I
4879 .registers 8
4881 @@ -529,6 +750,135 @@
4882 .end sparse-switch
4883 .end method
4885 +.method private getPackageName()[Ljava/lang/String;
4886 + .registers 6
4888 + :try_start_0
4889 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
4891 + if-eqz v3, :cond_f
4893 + invoke-static {}, Landroid/os/Process;->myUid()I
4895 + move-result v2
4897 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
4899 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
4901 + move-result-object v1
4903 + :goto_e
4904 + return-object v1
4906 + :cond_f
4907 + const-string/jumbo v3, "package"
4909 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4911 + move-result-object v3
4913 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
4915 + move-result-object v3
4917 + iput-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
4919 + invoke-static {}, Landroid/os/Process;->myUid()I
4921 + move-result v2
4923 + iget-object v3, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
4925 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
4926 + :try_end_25
4927 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
4929 + move-result-object v1
4931 + goto :goto_e
4933 + :catch_27
4934 + move-exception v0
4936 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
4938 + const-string v3, "PM,AudioRecord"
4940 + const-string/jumbo v4, "something went wrong with getting package name"
4942 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
4944 + const/4 v1, 0x0
4946 + goto :goto_e
4947 +.end method
4949 +.method private initiate()V
4950 + .registers 5
4952 + const/4 v1, 0x0
4954 + :try_start_1
4955 + iput-object v1, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
4957 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
4959 + iget-object v2, p0, Landroid/media/AudioRecord;->context:Landroid/content/Context;
4961 + const-string/jumbo v3, "privacy"
4963 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4965 + move-result-object v3
4967 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
4969 + move-result-object v3
4971 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
4973 + iput-object v1, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
4975 + const-string/jumbo v1, "package"
4977 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
4979 + move-result-object v1
4981 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
4983 + move-result-object v1
4985 + iput-object v1, p0, Landroid/media/AudioRecord;->mPm:Landroid/content/pm/IPackageManager;
4987 + const/4 v1, 0x1
4989 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
4990 + :try_end_27
4991 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
4993 + :goto_27
4994 + return-void
4996 + :catch_28
4997 + move-exception v0
4999 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
5001 + const-string v1, "PM,AudioRecord"
5003 + const-string v2, "Something went wrong with initalize variables"
5005 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5007 + const/4 v1, 0x0
5009 + iput-boolean v1, p0, Landroid/media/AudioRecord;->privacyMode:Z
5011 + goto :goto_27
5012 +.end method
5014 .method private static logd(Ljava/lang/String;)V
5015 .registers 4
5017 @@ -979,19 +1329,68 @@
5018 .end method
5020 .method public startRecording()V
5021 - .registers 4
5022 + .registers 11
5023 .annotation system Ldalvik/annotation/Throws;
5024 value = {
5025 Ljava/lang/IllegalStateException;
5027 .end annotation
5029 + const/4 v5, 0x0
5031 + const/4 v3, 0x1
5033 + const/4 v2, 0x0
5035 + iget-boolean v0, p0, Landroid/media/AudioRecord;->privacyMode:Z
5037 + if-nez v0, :cond_a
5039 + invoke-direct {p0}, Landroid/media/AudioRecord;->initiate()V
5041 + :cond_a
5042 iget v0, p0, Landroid/media/AudioRecord;->mState:I
5044 - const/4 v1, 0x1
5045 + if-ne v0, v3, :cond_15
5047 + invoke-direct {p0}, Landroid/media/AudioRecord;->checkIfPackagesAllowed()I
5049 + move-result v0
5051 + const/4 v1, -0x2
5053 + if-ne v0, v1, :cond_3d
5055 - if-eq v0, v1, :cond_e
5056 + :cond_15
5057 + invoke-direct {p0, v2}, Landroid/media/AudioRecord;->dataAccess(Z)V
5059 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
5061 + move-result-object v7
5063 + if-eqz v7, :cond_34
5065 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5067 + aget-object v1, v7, v2
5069 + const-string/jumbo v4, "recordAudio"
5071 + iget-object v6, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5073 + aget-object v8, v7, v2
5075 + invoke-static {}, Landroid/os/Process;->myUid()I
5077 + move-result v9
5079 + invoke-virtual {v6, v8, v9}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5081 + move-result-object v6
5083 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
5085 + :cond_34
5086 new-instance v0, Ljava/lang/IllegalStateException;
5088 const-string/jumbo v1, "startRecording() called on an uninitialized AudioRecord."
5089 @@ -1000,7 +1399,38 @@
5091 throw v0
5093 - :cond_e
5094 + :cond_3d
5095 + invoke-direct {p0, v3}, Landroid/media/AudioRecord;->dataAccess(Z)V
5097 + invoke-direct {p0}, Landroid/media/AudioRecord;->getPackageName()[Ljava/lang/String;
5099 + move-result-object v7
5101 + if-eqz v7, :cond_5d
5103 + iget-object v0, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5105 + aget-object v1, v7, v2
5107 + const-string/jumbo v4, "recordAudio"
5109 + iget-object v3, p0, Landroid/media/AudioRecord;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5111 + aget-object v6, v7, v2
5113 + invoke-static {}, Landroid/os/Process;->myUid()I
5115 + move-result v8
5117 + invoke-virtual {v3, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5119 + move-result-object v6
5121 + move v3, v2
5123 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
5125 + :cond_5d
5126 iget-object v1, p0, Landroid/media/AudioRecord;->mRecordingStateLock:Ljava/lang/Object;
5128 monitor-enter v1
5129 @@ -1009,28 +1439,28 @@
5131 const/4 v2, 0x0
5133 - :try_start_13
5134 + :try_start_62
5135 invoke-direct {p0, v0, v2}, Landroid/media/AudioRecord;->native_start(II)I
5137 move-result v0
5139 - if-nez v0, :cond_1c
5140 + if-nez v0, :cond_6b
5142 const/4 v0, 0x3
5144 iput v0, p0, Landroid/media/AudioRecord;->mRecordingState:I
5146 - :cond_1c
5147 + :cond_6b
5148 monitor-exit v1
5150 return-void
5152 - :catchall_1e
5153 + :catchall_6d
5154 move-exception v0
5156 monitor-exit v1
5157 - :try_end_20
5158 - .catchall {:try_start_13 .. :try_end_20} :catchall_1e
5159 + :try_end_6f
5160 + .catchall {:try_start_62 .. :try_end_6f} :catchall_6d
5162 throw v0
5163 .end method
5164 diff -Npru stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali ext-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali
5165 --- stock-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 1969-12-31 18:00:00.000000000 -0600
5166 +++ ext-framework/smali/android/media/MediaRecorder$PrivacyRunner.smali 2012-11-08 09:11:55.982838942 -0600
5167 @@ -0,0 +1,215 @@
5168 +.class Landroid/media/MediaRecorder$PrivacyRunner;
5169 +.super Ljava/lang/Thread;
5170 +.source "MediaRecorder.java"
5173 +# annotations
5174 +.annotation system Ldalvik/annotation/EnclosingClass;
5175 + value = Landroid/media/MediaRecorder;
5176 +.end annotation
5178 +.annotation system Ldalvik/annotation/InnerClass;
5179 + accessFlags = 0x2
5180 + name = "PrivacyRunner"
5181 +.end annotation
5184 +# static fields
5185 +.field private static final OFFSET_DELAY:J = 0x9c4L
5188 +# instance fields
5189 +.field private delay:J
5191 +.field final synthetic this$0:Landroid/media/MediaRecorder;
5194 +# direct methods
5195 +.method public constructor <init>(Landroid/media/MediaRecorder;)V
5196 + .registers 4
5198 + iput-object p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5200 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
5202 + const-wide/16 v0, 0x9c4
5204 + iput-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
5206 + return-void
5207 +.end method
5210 +# virtual methods
5211 +.method public getDelay()J
5212 + .registers 3
5214 + iget-wide v0, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
5216 + return-wide v0
5217 +.end method
5219 +.method public run()V
5220 + .registers 5
5222 + :try_start_0
5223 + iget-wide v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
5225 + invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
5227 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5229 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
5230 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
5232 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5234 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
5235 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
5237 + move-result-object v2
5239 + if-eqz v2, :cond_2f
5241 + new-instance v1, Ljava/io/File;
5243 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5245 + #getter for: Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
5246 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
5248 + move-result-object v2
5250 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5252 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
5254 + move-result v2
5256 + if-eqz v2, :cond_29
5258 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5260 + const/4 v3, 0x1
5262 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
5263 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
5264 + :try_end_29
5265 + .catchall {:try_start_0 .. :try_end_29} :catchall_73
5266 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_29} :catch_57
5268 + :cond_29
5269 + :goto_29
5270 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5272 + :goto_2b
5273 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
5274 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
5276 + return-void
5278 + :cond_2f
5279 + :try_start_2f
5280 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5282 + #getter for: Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
5283 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
5285 + move-result-object v2
5287 + if-eqz v2, :cond_65
5289 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5291 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
5292 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
5294 + move-result-object v2
5296 + if-eqz v2, :cond_65
5298 + new-instance v1, Ljava/io/File;
5300 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5302 + #getter for: Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
5303 + invoke-static {v2}, Landroid/media/MediaRecorder;->access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
5305 + move-result-object v2
5307 + invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
5309 + invoke-virtual {v1}, Ljava/io/File;->delete()Z
5311 + move-result v2
5313 + if-eqz v2, :cond_29
5315 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5317 + const/4 v3, 0x1
5319 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
5320 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
5321 + :try_end_56
5322 + .catchall {:try_start_2f .. :try_end_56} :catchall_73
5323 + .catch Ljava/lang/Exception; {:try_start_2f .. :try_end_56} :catch_57
5325 + goto :goto_29
5327 + :catch_57
5328 + move-exception v0
5330 + :try_start_58
5331 + const-string v2, "PM,MediaRecorder"
5333 + const-string v3, "Something went wrong while waiting for cancel the stream!"
5335 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5337 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
5338 + :try_end_62
5339 + .catchall {:try_start_58 .. :try_end_62} :catchall_73
5341 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5343 + goto :goto_2b
5345 + :cond_65
5346 + :try_start_65
5347 + const-string v2, "PM,MediaRecorder"
5349 + const-string v3, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
5351 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5353 + iget-object v2, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5355 + const/4 v3, 0x0
5357 + #setter for: Landroid/media/MediaRecorder;->deletedFile:Z
5358 + invoke-static {v2, v3}, Landroid/media/MediaRecorder;->access$502(Landroid/media/MediaRecorder;Z)Z
5359 + :try_end_72
5360 + .catchall {:try_start_65 .. :try_end_72} :catchall_73
5361 + .catch Ljava/lang/Exception; {:try_start_65 .. :try_end_72} :catch_57
5363 + goto :goto_29
5365 + :catchall_73
5366 + move-exception v2
5368 + iget-object v3, p0, Landroid/media/MediaRecorder$PrivacyRunner;->this$0:Landroid/media/MediaRecorder;
5370 + #calls: Landroid/media/MediaRecorder;->privacyStop()V
5371 + invoke-static {v3}, Landroid/media/MediaRecorder;->access$300(Landroid/media/MediaRecorder;)V
5373 + throw v2
5374 +.end method
5376 +.method public setDelay(J)V
5377 + .registers 3
5379 + iput-wide p1, p0, Landroid/media/MediaRecorder$PrivacyRunner;->delay:J
5381 + return-void
5382 +.end method
5383 diff -Npru stock-framework/smali/android/media/MediaRecorder.smali ext-framework/smali/android/media/MediaRecorder.smali
5384 --- stock-framework/smali/android/media/MediaRecorder.smali 2012-11-08 09:12:16.410940233 -0600
5385 +++ ext-framework/smali/android/media/MediaRecorder.smali 2012-11-08 09:11:55.986838955 -0600
5386 @@ -6,6 +6,7 @@
5387 # annotations
5388 .annotation system Ldalvik/annotation/MemberClasses;
5389 value = {
5390 + Landroid/media/MediaRecorder$PrivacyRunner;,
5391 Landroid/media/MediaRecorder$EventHandler;,
5392 Landroid/media/MediaRecorder$OnInfoListener;,
5393 Landroid/media/MediaRecorder$OnErrorListener;,
5394 @@ -19,6 +20,14 @@
5397 # static fields
5398 +.field private static final BOTH_DATA_ACCESS:I = 0xb
5400 +.field private static final GOT_ERROR:I = -0x3
5402 +.field private static final IS_ALLOWED:I = -0x1
5404 +.field private static final IS_NOT_ALLOWED:I = -0x2
5406 .field public static final MEDIA_RECORDER_ERROR_UNKNOWN:I = 0x1
5408 .field public static final MEDIA_RECORDER_INFO_MAX_DURATION_REACHED:I = 0x320
5409 @@ -51,10 +60,30 @@
5411 .field public static final MEDIA_RECORDER_TRACK_INTER_CHUNK_TIME_MS:I = 0x3ee
5413 +.field private static final MIC_DATA_ACCESS:I = 0xa
5415 +.field private static final MODE_RECORD_AUDIO:I = 0x2
5417 +.field private static final MODE_RECORD_BOTH:I = 0x3
5419 +.field private static final PRIVACY_PATH_DEF:Ljava/lang/String; = "/data/data/"
5421 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,MediaRecorder"
5423 +.field private static final STATE_RECORD_AUDIO:I = 0x0
5425 +.field private static final STATE_RECORD_BOTH:I = 0x1
5427 .field private static final TAG:Ljava/lang/String; = "MediaRecorder"
5430 # instance fields
5431 +.field private ACTUAL_STATE:I
5433 +.field private context:Landroid/content/Context;
5435 +.field private deletedFile:Z
5437 .field private mEventHandler:Landroid/media/MediaRecorder$EventHandler;
5439 .field private mFd:Ljava/io/FileDescriptor;
5440 @@ -67,8 +96,24 @@
5442 .field private mPath:Ljava/lang/String;
5444 +.field private mPm:Landroid/content/pm/IPackageManager;
5446 .field private mSurface:Landroid/view/Surface;
5448 +.field private pFileDescriptor:Ljava/io/FileDescriptor;
5450 +.field private pFileDescriptorPath:Ljava/lang/String;
5452 +.field private pPath:Ljava/lang/String;
5454 +.field private pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
5456 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
5458 +.field private privacyMode:Z
5460 +.field private stoppedStream:Z
5463 # direct methods
5464 .method static constructor <clinit>()V
5465 @@ -84,15 +129,35 @@
5466 .end method
5468 .method public constructor <init>()V
5469 - .registers 3
5470 + .registers 4
5472 + const/4 v2, 0x0
5474 + const/4 v1, 0x0
5476 invoke-direct {p0}, Ljava/lang/Object;-><init>()V
5478 + iput-object v1, p0, Landroid/media/MediaRecorder;->pPath:Ljava/lang/String;
5480 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
5482 + iput-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptor:Ljava/io/FileDescriptor;
5484 + iput-object v1, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
5486 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
5488 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->privacyMode:Z
5490 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->stoppedStream:Z
5492 + iput v2, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
5494 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
5496 move-result-object v0
5498 - if-eqz v0, :cond_19
5499 + if-eqz v0, :cond_2e
5501 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
5503 @@ -100,7 +165,9 @@
5505 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
5507 - :goto_10
5508 + :goto_22
5509 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
5511 new-instance v1, Ljava/lang/ref/WeakReference;
5513 invoke-direct {v1, p0}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
5514 @@ -109,12 +176,12 @@
5516 return-void
5518 - :cond_19
5519 + :cond_2e
5520 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
5522 move-result-object v0
5524 - if-eqz v0, :cond_27
5525 + if-eqz v0, :cond_3c
5527 new-instance v1, Landroid/media/MediaRecorder$EventHandler;
5529 @@ -122,14 +189,12 @@
5531 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
5533 - goto :goto_10
5535 - :cond_27
5536 - const/4 v1, 0x0
5537 + goto :goto_22
5539 + :cond_3c
5540 iput-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
5542 - goto :goto_10
5543 + goto :goto_22
5544 .end method
5546 .method private native _prepare()V
5547 @@ -141,45 +206,1757 @@
5548 .end annotation
5549 .end method
5551 -.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
5552 - .annotation system Ldalvik/annotation/Throws;
5553 - value = {
5554 - Ljava/lang/IllegalStateException;,
5555 - Ljava/io/IOException;
5557 - .end annotation
5558 -.end method
5559 +.method private native _setOutputFile(Ljava/io/FileDescriptor;JJ)V
5560 + .annotation system Ldalvik/annotation/Throws;
5561 + value = {
5562 + Ljava/lang/IllegalStateException;,
5563 + Ljava/io/IOException;
5565 + .end annotation
5566 +.end method
5568 +.method static synthetic access$000(Landroid/media/MediaRecorder;)I
5569 + .registers 2
5571 + iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
5573 + return v0
5574 +.end method
5576 +.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
5577 + .registers 2
5579 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
5581 + return-object v0
5582 +.end method
5584 +.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
5585 + .registers 2
5587 + iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
5589 + return-object v0
5590 +.end method
5592 +.method static synthetic access$300(Landroid/media/MediaRecorder;)V
5593 + .registers 1
5595 + invoke-direct {p0}, Landroid/media/MediaRecorder;->privacyStop()V
5597 + return-void
5598 +.end method
5600 +.method static synthetic access$400(Landroid/media/MediaRecorder;)Ljava/lang/String;
5601 + .registers 2
5603 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
5605 + return-object v0
5606 +.end method
5608 +.method static synthetic access$502(Landroid/media/MediaRecorder;Z)Z
5609 + .registers 2
5611 + iput-boolean p1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
5613 + return p1
5614 +.end method
5616 +.method static synthetic access$600(Landroid/media/MediaRecorder;)Ljava/io/FileDescriptor;
5617 + .registers 2
5619 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
5621 + return-object v0
5622 +.end method
5624 +.method static synthetic access$700(Landroid/media/MediaRecorder;)Ljava/lang/String;
5625 + .registers 2
5627 + iget-object v0, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
5629 + return-object v0
5630 +.end method
5632 +.method private checkIfPackagesAllowed(I)I
5633 + .registers 12
5635 + const/4 v6, -0x1
5637 + const/4 v5, -0x2
5639 + const/4 v7, -0x3
5641 + :try_start_3
5642 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5644 + if-eqz v8, :cond_5b
5646 + const/4 v2, 0x0
5648 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
5650 + move-result-object v3
5652 + invoke-static {}, Landroid/os/Process;->myUid()I
5654 + move-result v4
5656 + if-eqz v3, :cond_51
5658 + packed-switch p1, :pswitch_data_72
5660 + move v5, v7
5662 + :cond_16
5663 + :goto_16
5664 + return v5
5666 + :pswitch_17
5667 + const/4 v1, 0x0
5669 + :goto_18
5670 + array-length v8, v3
5672 + if-ge v1, v8, :cond_2f
5674 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5676 + aget-object v9, v3, v1
5678 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5680 + move-result-object v2
5682 + if-eqz v2, :cond_2b
5684 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
5686 + move-result v8
5688 + if-nez v8, :cond_16
5690 + :cond_2b
5691 + const/4 v2, 0x0
5693 + add-int/lit8 v1, v1, 0x1
5695 + goto :goto_18
5697 + :cond_2f
5698 + move v5, v6
5700 + goto :goto_16
5702 + :pswitch_31
5703 + const/4 v1, 0x0
5705 + :goto_32
5706 + array-length v8, v3
5708 + if-ge v1, v8, :cond_4f
5710 + iget-object v8, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
5712 + aget-object v9, v3, v1
5714 + invoke-virtual {v8, v9, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
5716 + move-result-object v2
5718 + if-eqz v2, :cond_4b
5720 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
5722 + move-result v8
5724 + if-nez v8, :cond_16
5726 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
5728 + move-result v8
5730 + if-nez v8, :cond_16
5732 + :cond_4b
5733 + const/4 v2, 0x0
5735 + add-int/lit8 v1, v1, 0x1
5737 + goto :goto_32
5739 + :cond_4f
5740 + move v5, v6
5742 + goto :goto_16
5744 + :cond_51
5745 + const-string v5, "PM,MediaRecorder"
5747 + const-string/jumbo v6, "return GOT_ERROR, because package_names are NULL"
5749 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5751 + move v5, v7
5753 + goto :goto_16
5755 + :cond_5b
5756 + const-string v5, "PM,MediaRecorder"
5758 + const-string/jumbo v6, "return GOT_ERROR, because pSetMan is NULL"
5760 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5761 + :try_end_63
5762 + .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_63} :catch_65
5764 + move v5, v7
5766 + goto :goto_16
5768 + :catch_65
5769 + move-exception v0
5771 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
5773 + const-string v5, "PM,MediaRecorder"
5775 + const-string v6, "Got exception in checkIfPackagesAllowed"
5777 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
5779 + move v5, v7
5781 + goto :goto_16
5783 + :pswitch_data_72
5784 + .packed-switch 0x2
5785 + :pswitch_17
5786 + :pswitch_31
5787 + .end packed-switch
5788 +.end method
5790 +.method private dataAccess(ZI)V
5791 + .registers 8
5793 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
5795 + move-result-object v1
5797 + if-eqz p1, :cond_5a
5799 + if-eqz v1, :cond_5a
5801 + packed-switch p2, :pswitch_data_ae
5803 + :cond_b
5804 + :goto_b
5805 + return-void
5807 + :pswitch_c
5808 + const/4 v0, 0x0
5810 + :goto_d
5811 + array-length v2, v1
5813 + if-ge v0, v2, :cond_b
5815 + const-string v2, "PM,MediaRecorder"
5817 + new-instance v3, Ljava/lang/StringBuilder;
5819 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
5821 + const-string v4, "Allowed Package: -"
5823 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5825 + move-result-object v3
5827 + aget-object v4, v1, v0
5829 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5831 + move-result-object v3
5833 + const-string v4, "- accessing microphone."
5835 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5837 + move-result-object v3
5839 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5841 + move-result-object v3
5843 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
5845 + add-int/lit8 v0, v0, 0x1
5847 + goto :goto_d
5849 + :pswitch_33
5850 + const/4 v0, 0x0
5852 + :goto_34
5853 + array-length v2, v1
5855 + if-ge v0, v2, :cond_b
5857 + const-string v2, "PM,MediaRecorder"
5859 + new-instance v3, Ljava/lang/StringBuilder;
5861 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
5863 + const-string v4, "Allowed Package: -"
5865 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5867 + move-result-object v3
5869 + aget-object v4, v1, v0
5871 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5873 + move-result-object v3
5875 + const-string v4, "- accessing microphone and camera."
5877 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5879 + move-result-object v3
5881 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5883 + move-result-object v3
5885 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
5887 + add-int/lit8 v0, v0, 0x1
5889 + goto :goto_34
5891 + :cond_5a
5892 + if-eqz v1, :cond_b
5894 + packed-switch p2, :pswitch_data_b6
5896 + goto :goto_b
5898 + :pswitch_60
5899 + const/4 v0, 0x0
5901 + :goto_61
5902 + array-length v2, v1
5904 + if-ge v0, v2, :cond_b
5906 + const-string v2, "PM,MediaRecorder"
5908 + new-instance v3, Ljava/lang/StringBuilder;
5910 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
5912 + const-string v4, "Blocked Package: -"
5914 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5916 + move-result-object v3
5918 + aget-object v4, v1, v0
5920 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5922 + move-result-object v3
5924 + const-string v4, "- accessing microphone."
5926 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5928 + move-result-object v3
5930 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5932 + move-result-object v3
5934 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
5936 + add-int/lit8 v0, v0, 0x1
5938 + goto :goto_61
5940 + :pswitch_87
5941 + const/4 v0, 0x0
5943 + :goto_88
5944 + array-length v2, v1
5946 + if-ge v0, v2, :cond_b
5948 + const-string v2, "PM,MediaRecorder"
5950 + new-instance v3, Ljava/lang/StringBuilder;
5952 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
5954 + const-string v4, "Blocked Package: -"
5956 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5958 + move-result-object v3
5960 + aget-object v4, v1, v0
5962 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5964 + move-result-object v3
5966 + const-string v4, "- accessing microphone and camera."
5968 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
5970 + move-result-object v3
5972 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
5974 + move-result-object v3
5976 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
5978 + add-int/lit8 v0, v0, 0x1
5980 + goto :goto_88
5982 + :pswitch_data_ae
5983 + .packed-switch 0xa
5984 + :pswitch_c
5985 + :pswitch_33
5986 + .end packed-switch
5988 + :pswitch_data_b6
5989 + .packed-switch 0xa
5990 + :pswitch_60
5991 + :pswitch_87
5992 + .end packed-switch
5993 +.end method
5995 +.method public static final getAudioSourceMax()I
5996 + .registers 1
5998 + const/4 v0, 0x7
6000 + return v0
6001 +.end method
6003 +.method private getPackageName()[Ljava/lang/String;
6004 + .registers 6
6006 + :try_start_0
6007 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
6009 + if-eqz v3, :cond_f
6011 + invoke-static {}, Landroid/os/Process;->myUid()I
6013 + move-result v2
6015 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
6017 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6019 + move-result-object v1
6021 + :goto_e
6022 + return-object v1
6024 + :cond_f
6025 + const-string/jumbo v3, "package"
6027 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
6029 + move-result-object v3
6031 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
6033 + move-result-object v3
6035 + iput-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
6037 + invoke-static {}, Landroid/os/Process;->myUid()I
6039 + move-result v2
6041 + iget-object v3, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
6043 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
6044 + :try_end_25
6045 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
6047 + move-result-object v1
6049 + goto :goto_e
6051 + :catch_27
6052 + move-exception v0
6054 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
6056 + const-string v3, "PM,MediaRecorder"
6058 + const-string/jumbo v4, "something went wrong with getting package name"
6060 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6062 + const/4 v1, 0x0
6064 + goto :goto_e
6065 +.end method
6067 +.method private getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
6068 + .registers 19
6070 + invoke-direct/range {p0 .. p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
6072 + move-result-object v12
6074 + new-instance v14, Ljava/util/Random;
6076 + invoke-direct {v14}, Ljava/util/Random;-><init>()V
6078 + const/4 v1, 0x0
6080 + new-instance v15, Ljava/lang/StringBuilder;
6082 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6084 + invoke-virtual {v14}, Ljava/util/Random;->nextLong()J
6086 + move-result-wide v16
6088 + invoke-virtual/range {v15 .. v17}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
6090 + move-result-object v15
6092 + const-string v16, ".tmp"
6094 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6096 + move-result-object v15
6098 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6100 + move-result-object v2
6102 + const/4 v7, 0x0
6104 + const/4 v3, 0x0
6106 + const/4 v11, 0x0
6108 + :goto_24
6109 + array-length v15, v12
6111 + if-ge v11, v15, :cond_247
6113 + :try_start_27
6114 + new-instance v9, Ljava/io/File;
6116 + new-instance v15, Ljava/lang/StringBuilder;
6118 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6120 + const-string v16, "/data/data/"
6122 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6124 + move-result-object v15
6126 + aget-object v16, v12, v11
6128 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6130 + move-result-object v15
6132 + const-string v16, "/cache/"
6134 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6136 + move-result-object v15
6138 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6140 + move-result-object v15
6142 + invoke-direct {v9, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6144 + invoke-virtual {v9}, Ljava/io/File;->mkdirs()Z
6146 + new-instance v8, Ljava/io/FileWriter;
6148 + new-instance v15, Ljava/lang/StringBuilder;
6150 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6152 + const-string v16, "/data/data/"
6154 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6156 + move-result-object v15
6158 + aget-object v16, v12, v11
6160 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6162 + move-result-object v15
6164 + const-string v16, "/cache/"
6166 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6168 + move-result-object v15
6170 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6172 + move-result-object v15
6174 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6176 + move-result-object v15
6178 + invoke-direct {v8, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
6179 + :try_end_6e
6180 + .catchall {:try_start_27 .. :try_end_6e} :catchall_155
6181 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_15c
6183 + :try_start_6e
6184 + const-string/jumbo v15, "test"
6186 + invoke-virtual {v8, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
6188 + invoke-virtual {v8}, Ljava/io/FileWriter;->flush()V
6190 + invoke-virtual {v8}, Ljava/io/FileWriter;->close()V
6192 + new-instance v4, Ljava/io/File;
6194 + new-instance v15, Ljava/lang/StringBuilder;
6196 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6198 + const-string v16, "/data/data/"
6200 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6202 + move-result-object v15
6204 + aget-object v16, v12, v11
6206 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6208 + move-result-object v15
6210 + const-string v16, "/cache/"
6212 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6214 + move-result-object v15
6216 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6218 + move-result-object v15
6220 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6222 + move-result-object v15
6224 + invoke-direct {v4, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6225 + :try_end_9e
6226 + .catchall {:try_start_6e .. :try_end_9e} :catchall_235
6227 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_23e
6229 + :try_start_9e
6230 + invoke-virtual {v4}, Ljava/io/File;->delete()Z
6232 + const-string v15, "PM,MediaRecorder"
6234 + new-instance v16, Ljava/lang/StringBuilder;
6236 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
6238 + const-string v17, "found our package: "
6240 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6242 + move-result-object v16
6244 + aget-object v17, v12, v11
6246 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6248 + move-result-object v16
6250 + const-string v17, " with internal path. File: "
6252 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6254 + move-result-object v16
6256 + move-object/from16 v0, v16
6258 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6260 + move-result-object v16
6262 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6264 + move-result-object v16
6266 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6268 + aget-object v1, v12, v11
6269 + :try_end_c9
6270 + .catchall {:try_start_9e .. :try_end_c9} :catchall_239
6271 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c9} :catch_242
6273 + const/4 v7, 0x0
6275 + const/4 v3, 0x0
6277 + invoke-static {}, Ljava/lang/System;->gc()V
6279 + move-object v4, v3
6281 + move-object v8, v7
6283 + :goto_d0
6284 + if-eqz v1, :cond_172
6286 + :try_start_d2
6287 + new-instance v10, Ljava/io/FileOutputStream;
6289 + new-instance v15, Ljava/lang/StringBuilder;
6291 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6293 + const-string v16, "/data/data/"
6295 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6297 + move-result-object v15
6299 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6301 + move-result-object v15
6303 + const-string v16, "/cache/"
6305 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6307 + move-result-object v15
6309 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6311 + move-result-object v15
6313 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6315 + move-result-object v15
6317 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
6319 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
6321 + move-result-object v6
6323 + new-instance v15, Ljava/lang/StringBuilder;
6325 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6327 + const-string v16, "/data/data/"
6329 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6331 + move-result-object v15
6333 + invoke-virtual {v15, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6335 + move-result-object v15
6337 + const-string v16, "/cache/"
6339 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6341 + move-result-object v15
6343 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6345 + move-result-object v15
6347 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6349 + move-result-object v15
6351 + move-object/from16 v0, p0
6353 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
6355 + const-string v15, "PM,MediaRecorder"
6357 + new-instance v16, Ljava/lang/StringBuilder;
6359 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
6361 + const-string/jumbo v17, "returned fileDescriptor for package: "
6363 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6365 + move-result-object v16
6367 + move-object/from16 v0, v16
6369 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6371 + move-result-object v16
6373 + const-string v17, " with internal path. Path: "
6375 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6377 + move-result-object v16
6379 + const-string v17, "/data/data/"
6381 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6383 + move-result-object v16
6385 + move-object/from16 v0, v16
6387 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6389 + move-result-object v16
6391 + const-string v17, "/cache/"
6393 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6395 + move-result-object v16
6397 + move-object/from16 v0, v16
6399 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6401 + move-result-object v16
6403 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6405 + move-result-object v16
6407 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6408 + :try_end_152
6409 + .catch Ljava/lang/Exception; {:try_start_d2 .. :try_end_152} :catch_166
6411 + move-object v3, v4
6413 + move-object v7, v8
6415 + :goto_154
6416 + return-object v6
6418 + :catchall_155
6419 + move-exception v15
6421 + :goto_156
6422 + const/4 v7, 0x0
6424 + const/4 v3, 0x0
6426 + invoke-static {}, Ljava/lang/System;->gc()V
6428 + throw v15
6430 + :catch_15c
6431 + move-exception v15
6433 + :goto_15d
6434 + const/4 v7, 0x0
6436 + const/4 v3, 0x0
6438 + invoke-static {}, Ljava/lang/System;->gc()V
6440 + add-int/lit8 v11, v11, 0x1
6442 + goto/16 :goto_24
6444 + :catch_166
6445 + move-exception v5
6447 + const-string v15, "PM,MediaRecorder"
6449 + const-string v16, "Got exception while creating fileDescriptor -> return null"
6451 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
6453 + const/4 v6, 0x0
6455 + move-object v3, v4
6457 + move-object v7, v8
6459 + goto :goto_154
6461 + :cond_172
6462 + :try_start_172
6463 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
6465 + move-result-object v15
6467 + invoke-virtual {v15}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
6469 + move-result-object v13
6471 + new-instance v7, Ljava/io/FileWriter;
6473 + new-instance v15, Ljava/lang/StringBuilder;
6475 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6477 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6479 + move-result-object v15
6481 + const-string v16, "/"
6483 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6485 + move-result-object v15
6487 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6489 + move-result-object v15
6491 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6493 + move-result-object v15
6495 + invoke-direct {v7, v15}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
6496 + :try_end_196
6497 + .catch Ljava/lang/Exception; {:try_start_172 .. :try_end_196} :catch_22e
6499 + :try_start_196
6500 + const-string/jumbo v15, "test"
6502 + invoke-virtual {v7, v15}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
6504 + invoke-virtual {v7}, Ljava/io/FileWriter;->flush()V
6506 + invoke-virtual {v7}, Ljava/io/FileWriter;->close()V
6508 + new-instance v3, Ljava/io/File;
6510 + new-instance v15, Ljava/lang/StringBuilder;
6512 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6514 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6516 + move-result-object v15
6518 + const-string v16, "/"
6520 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6522 + move-result-object v15
6524 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6526 + move-result-object v15
6528 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6530 + move-result-object v15
6532 + invoke-direct {v3, v15}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6533 + :try_end_1be
6534 + .catch Ljava/lang/Exception; {:try_start_196 .. :try_end_1be} :catch_232
6536 + :try_start_1be
6537 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
6539 + new-instance v10, Ljava/io/FileOutputStream;
6541 + new-instance v15, Ljava/lang/StringBuilder;
6543 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6545 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6547 + move-result-object v15
6549 + const-string v16, "/"
6551 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6553 + move-result-object v15
6555 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6557 + move-result-object v15
6559 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6561 + move-result-object v15
6563 + invoke-direct {v10, v15}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
6565 + invoke-virtual {v10}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
6567 + move-result-object v6
6569 + new-instance v15, Ljava/lang/StringBuilder;
6571 + invoke-direct {v15}, Ljava/lang/StringBuilder;-><init>()V
6573 + invoke-virtual {v15, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6575 + move-result-object v15
6577 + const-string v16, "/"
6579 + invoke-virtual/range {v15 .. v16}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6581 + move-result-object v15
6583 + invoke-virtual {v15, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6585 + move-result-object v15
6587 + invoke-virtual {v15}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6589 + move-result-object v15
6591 + move-object/from16 v0, p0
6593 + iput-object v15, v0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
6595 + const-string v15, "PM,MediaRecorder"
6597 + new-instance v16, Ljava/lang/StringBuilder;
6599 + invoke-direct/range {v16 .. v16}, Ljava/lang/StringBuilder;-><init>()V
6601 + const-string v17, "Returned FileDescriptor. Path: "
6603 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6605 + move-result-object v16
6607 + move-object/from16 v0, v16
6609 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6611 + move-result-object v16
6613 + const-string v17, "/"
6615 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6617 + move-result-object v16
6619 + move-object/from16 v0, v16
6621 + invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6623 + move-result-object v16
6625 + const-string v17, " . It is on SDCard!"
6627 + invoke-virtual/range {v16 .. v17}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6629 + move-result-object v16
6631 + invoke-virtual/range {v16 .. v16}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6633 + move-result-object v16
6635 + invoke-static/range {v15 .. v16}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6636 + :try_end_228
6637 + .catch Ljava/lang/Exception; {:try_start_1be .. :try_end_228} :catch_22a
6639 + goto/16 :goto_154
6641 + :catch_22a
6642 + move-exception v5
6644 + :goto_22b
6645 + const/4 v6, 0x0
6647 + goto/16 :goto_154
6649 + :catch_22e
6650 + move-exception v5
6652 + move-object v3, v4
6654 + move-object v7, v8
6656 + goto :goto_22b
6658 + :catch_232
6659 + move-exception v5
6661 + move-object v3, v4
6663 + goto :goto_22b
6665 + :catchall_235
6666 + move-exception v15
6668 + move-object v7, v8
6670 + goto/16 :goto_156
6672 + :catchall_239
6673 + move-exception v15
6675 + move-object v3, v4
6677 + move-object v7, v8
6679 + goto/16 :goto_156
6681 + :catch_23e
6682 + move-exception v15
6684 + move-object v7, v8
6686 + goto/16 :goto_15d
6688 + :catch_242
6689 + move-exception v15
6691 + move-object v3, v4
6693 + move-object v7, v8
6695 + goto/16 :goto_15d
6697 + :cond_247
6698 + move-object v4, v3
6700 + move-object v8, v7
6702 + goto/16 :goto_d0
6703 +.end method
6705 +.method private getPrivacyPath()Ljava/lang/String;
6706 + .registers 16
6708 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
6710 + move-result-object v9
6712 + new-instance v11, Ljava/util/Random;
6714 + invoke-direct {v11}, Ljava/util/Random;-><init>()V
6716 + const/4 v0, 0x0
6718 + new-instance v12, Ljava/lang/StringBuilder;
6720 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
6722 + invoke-virtual {v11}, Ljava/util/Random;->nextLong()J
6724 + move-result-wide v13
6726 + invoke-virtual {v12, v13, v14}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
6728 + move-result-object v12
6730 + const-string v13, ".tmp"
6732 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6734 + move-result-object v12
6736 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6738 + move-result-object v1
6740 + const/4 v5, 0x0
6742 + const/4 v2, 0x0
6744 + const/4 v8, 0x0
6746 + :goto_24
6747 + array-length v12, v9
6749 + if-ge v8, v12, :cond_1eb
6751 + :try_start_27
6752 + new-instance v7, Ljava/io/File;
6754 + new-instance v12, Ljava/lang/StringBuilder;
6756 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
6758 + const-string v13, "/data/data/"
6760 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6762 + move-result-object v12
6764 + aget-object v13, v9, v8
6766 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6768 + move-result-object v12
6770 + const-string v13, "/cache/"
6772 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6774 + move-result-object v12
6776 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6778 + move-result-object v12
6780 + invoke-direct {v7, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6782 + invoke-virtual {v7}, Ljava/io/File;->mkdirs()Z
6784 + new-instance v6, Ljava/io/FileWriter;
6786 + new-instance v12, Ljava/lang/StringBuilder;
6788 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
6790 + const-string v13, "/data/data/"
6792 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6794 + move-result-object v12
6796 + aget-object v13, v9, v8
6798 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6800 + move-result-object v12
6802 + const-string v13, "/cache/"
6804 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6806 + move-result-object v12
6808 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6810 + move-result-object v12
6812 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6814 + move-result-object v12
6816 + invoke-direct {v6, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
6817 + :try_end_6e
6818 + .catchall {:try_start_27 .. :try_end_6e} :catchall_12d
6819 + .catch Ljava/lang/Exception; {:try_start_27 .. :try_end_6e} :catch_134
6821 + :try_start_6e
6822 + const-string/jumbo v12, "test"
6824 + invoke-virtual {v6, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
6826 + invoke-virtual {v6}, Ljava/io/FileWriter;->flush()V
6828 + invoke-virtual {v6}, Ljava/io/FileWriter;->close()V
6830 + new-instance v3, Ljava/io/File;
6832 + new-instance v12, Ljava/lang/StringBuilder;
6834 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
6836 + const-string v13, "/data/data/"
6838 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6840 + move-result-object v12
6842 + aget-object v13, v9, v8
6844 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6846 + move-result-object v12
6848 + const-string v13, "/cache/"
6850 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6852 + move-result-object v12
6854 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6856 + move-result-object v12
6858 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6860 + move-result-object v12
6862 + invoke-direct {v3, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
6863 + :try_end_9e
6864 + .catchall {:try_start_6e .. :try_end_9e} :catchall_1d9
6865 + .catch Ljava/lang/Exception; {:try_start_6e .. :try_end_9e} :catch_1e2
6867 + :try_start_9e
6868 + invoke-virtual {v3}, Ljava/io/File;->delete()Z
6870 + const-string v12, "PM,MediaRecorder"
6872 + new-instance v13, Ljava/lang/StringBuilder;
6874 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
6876 + const-string v14, "found our package: "
6878 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6880 + move-result-object v13
6882 + aget-object v14, v9, v8
6884 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6886 + move-result-object v13
6888 + const-string v14, " with internal path. File: "
6890 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6892 + move-result-object v13
6894 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6896 + move-result-object v13
6898 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6900 + move-result-object v13
6902 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6904 + aget-object v0, v9, v8
6905 + :try_end_c7
6906 + .catchall {:try_start_9e .. :try_end_c7} :catchall_1dd
6907 + .catch Ljava/lang/Exception; {:try_start_9e .. :try_end_c7} :catch_1e6
6909 + const/4 v5, 0x0
6911 + const/4 v2, 0x0
6913 + invoke-static {}, Ljava/lang/System;->gc()V
6915 + move-object v3, v2
6917 + move-object v6, v5
6919 + :goto_ce
6920 + if-eqz v0, :cond_13e
6922 + const-string v12, "PM,MediaRecorder"
6924 + new-instance v13, Ljava/lang/StringBuilder;
6926 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
6928 + const-string/jumbo v14, "returned file: "
6930 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6932 + move-result-object v13
6934 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6936 + move-result-object v13
6938 + const-string v14, " for package: "
6940 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6942 + move-result-object v13
6944 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6946 + move-result-object v13
6948 + const-string v14, " with internal path. Path: "
6950 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6952 + move-result-object v13
6954 + const-string v14, "/data/data/"
6956 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6958 + move-result-object v13
6960 + invoke-virtual {v13, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6962 + move-result-object v13
6964 + const-string v14, "/cache/"
6966 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6968 + move-result-object v13
6970 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6972 + move-result-object v13
6974 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
6976 + move-result-object v13
6978 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
6980 + new-instance v12, Ljava/lang/StringBuilder;
6982 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
6984 + const-string v13, "/data/data/"
6986 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6988 + move-result-object v12
6990 + invoke-virtual {v12, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6992 + move-result-object v12
6994 + const-string v13, "/cache/"
6996 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
6998 + move-result-object v12
7000 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7002 + move-result-object v12
7004 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7006 + move-result-object v12
7008 + move-object v2, v3
7010 + move-object v5, v6
7012 + :goto_12c
7013 + return-object v12
7015 + :catchall_12d
7016 + move-exception v12
7018 + :goto_12e
7019 + const/4 v5, 0x0
7021 + const/4 v2, 0x0
7023 + invoke-static {}, Ljava/lang/System;->gc()V
7025 + throw v12
7027 + :catch_134
7028 + move-exception v12
7030 + :goto_135
7031 + const/4 v5, 0x0
7033 + const/4 v2, 0x0
7035 + invoke-static {}, Ljava/lang/System;->gc()V
7037 + add-int/lit8 v8, v8, 0x1
7039 + goto/16 :goto_24
7041 + :cond_13e
7042 + :try_start_13e
7043 + invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
7045 + move-result-object v12
7047 + invoke-virtual {v12}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
7049 + move-result-object v10
7051 + new-instance v5, Ljava/io/FileWriter;
7053 + new-instance v12, Ljava/lang/StringBuilder;
7055 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
7057 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7059 + move-result-object v12
7061 + const-string v13, "/"
7063 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7065 + move-result-object v12
7067 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7069 + move-result-object v12
7071 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7073 + move-result-object v12
7075 + invoke-direct {v5, v12}, Ljava/io/FileWriter;-><init>(Ljava/lang/String;)V
7076 + :try_end_162
7077 + .catch Ljava/lang/Exception; {:try_start_13e .. :try_end_162} :catch_1ce
7079 + :try_start_162
7080 + const-string/jumbo v12, "test"
7082 + invoke-virtual {v5, v12}, Ljava/io/FileWriter;->write(Ljava/lang/String;)V
7084 + invoke-virtual {v5}, Ljava/io/FileWriter;->flush()V
7086 + invoke-virtual {v5}, Ljava/io/FileWriter;->close()V
7088 + new-instance v2, Ljava/io/File;
7090 + new-instance v12, Ljava/lang/StringBuilder;
7092 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
7094 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7096 + move-result-object v12
7098 + const-string v13, "/"
7100 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7102 + move-result-object v12
7104 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7106 + move-result-object v12
7108 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7110 + move-result-object v12
7112 + invoke-direct {v2, v12}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7113 + :try_end_18a
7114 + .catch Ljava/lang/Exception; {:try_start_162 .. :try_end_18a} :catch_1d4
7116 + :try_start_18a
7117 + invoke-virtual {v2}, Ljava/io/File;->delete()Z
7119 + const-string v12, "PM,MediaRecorder"
7121 + new-instance v13, Ljava/lang/StringBuilder;
7123 + invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
7125 + const-string v14, "Return filePath: "
7127 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7129 + move-result-object v13
7131 + invoke-virtual {v13, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7133 + move-result-object v13
7135 + const-string v14, "/"
7137 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7139 + move-result-object v13
7141 + invoke-virtual {v13, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7143 + move-result-object v13
7145 + const-string v14, " . It is on SDCard!"
7147 + invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7149 + move-result-object v13
7151 + invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7153 + move-result-object v13
7155 + invoke-static {v12, v13}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
7157 + new-instance v12, Ljava/lang/StringBuilder;
7159 + invoke-direct {v12}, Ljava/lang/StringBuilder;-><init>()V
7161 + invoke-virtual {v12, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7163 + move-result-object v12
7165 + const-string v13, "/"
7167 + invoke-virtual {v12, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7169 + move-result-object v12
7171 + invoke-virtual {v12, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
7173 + move-result-object v12
7175 + invoke-virtual {v12}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
7176 + :try_end_1cb
7177 + .catch Ljava/lang/Exception; {:try_start_18a .. :try_end_1cb} :catch_1d7
7179 + move-result-object v12
7181 + goto/16 :goto_12c
7183 + :catch_1ce
7184 + move-exception v4
7186 + move-object v2, v3
7188 + move-object v5, v6
7190 + :goto_1d1
7191 + const/4 v12, 0x0
7193 + goto/16 :goto_12c
7195 + :catch_1d4
7196 + move-exception v4
7198 + move-object v2, v3
7200 + goto :goto_1d1
7202 + :catch_1d7
7203 + move-exception v4
7205 + goto :goto_1d1
7207 + :catchall_1d9
7208 + move-exception v12
7210 + move-object v5, v6
7212 + goto/16 :goto_12e
7214 + :catchall_1dd
7215 + move-exception v12
7217 + move-object v2, v3
7219 + move-object v5, v6
7221 + goto/16 :goto_12e
7223 + :catch_1e2
7224 + move-exception v12
7226 + move-object v5, v6
7228 + goto/16 :goto_135
7230 + :catch_1e6
7231 + move-exception v12
7233 + move-object v2, v3
7235 + move-object v5, v6
7237 + goto/16 :goto_135
7239 + :cond_1eb
7240 + move-object v3, v2
7242 + move-object v6, v5
7244 + goto/16 :goto_ce
7245 +.end method
7247 +.method private initiate()V
7248 + .registers 5
7250 + const/4 v1, 0x0
7252 + :try_start_1
7253 + iput-object v1, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
7255 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
7257 + iget-object v2, p0, Landroid/media/MediaRecorder;->context:Landroid/content/Context;
7259 + const-string/jumbo v3, "privacy"
7261 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7263 + move-result-object v3
7265 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
7267 + move-result-object v3
7269 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
7271 + iput-object v1, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7273 + const-string/jumbo v1, "package"
7275 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
7277 + move-result-object v1
7279 -.method static synthetic access$000(Landroid/media/MediaRecorder;)I
7280 - .registers 2
7281 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
7283 - iget v0, p0, Landroid/media/MediaRecorder;->mNativeContext:I
7284 + move-result-object v1
7286 - return v0
7287 -.end method
7288 + iput-object v1, p0, Landroid/media/MediaRecorder;->mPm:Landroid/content/pm/IPackageManager;
7290 -.method static synthetic access$100(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnErrorListener;
7291 - .registers 2
7292 + const/4 v1, 0x1
7294 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnErrorListener:Landroid/media/MediaRecorder$OnErrorListener;
7295 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7296 + :try_end_27
7297 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
7299 - return-object v0
7300 -.end method
7301 + :goto_27
7302 + return-void
7304 -.method static synthetic access$200(Landroid/media/MediaRecorder;)Landroid/media/MediaRecorder$OnInfoListener;
7305 - .registers 2
7306 + :catch_28
7307 + move-exception v0
7309 - iget-object v0, p0, Landroid/media/MediaRecorder;->mOnInfoListener:Landroid/media/MediaRecorder$OnInfoListener;
7310 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
7312 - return-object v0
7313 -.end method
7314 + const-string v1, "PM,MediaRecorder"
7316 -.method public static final getAudioSourceMax()I
7317 - .registers 1
7318 + const-string v2, "Something went wrong with initalize variables"
7320 - const/4 v0, 0x7
7321 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7323 - return v0
7324 + const/4 v1, 0x0
7326 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7328 + goto :goto_27
7329 .end method
7331 .method private final native native_finalize()V
7332 @@ -234,17 +2011,104 @@
7333 goto :goto_a
7334 .end method
7336 +.method private privacyStop()V
7337 + .registers 4
7339 + :try_start_0
7340 + invoke-virtual {p0}, Landroid/media/MediaRecorder;->stop()V
7341 + :try_end_3
7342 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_3} :catch_4
7344 + :goto_3
7345 + return-void
7347 + :catch_4
7348 + move-exception v0
7350 + const-string v1, "PM,MediaRecorder"
7352 + const-string v2, "Got exception while trying to call privacyStop()"
7354 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7356 + goto :goto_3
7357 +.end method
7359 .method private native setParameter(Ljava/lang/String;)V
7360 .end method
7363 # virtual methods
7364 .method protected finalize()V
7365 - .registers 1
7366 + .registers 4
7368 + const/4 v2, 0x1
7370 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7372 + if-nez v1, :cond_18
7374 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7376 + if-eqz v1, :cond_1c
7378 + new-instance v0, Ljava/io/File;
7380 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7382 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7384 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
7386 + move-result v1
7388 + if-eqz v1, :cond_18
7390 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7392 + :cond_18
7393 + :goto_18
7394 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_finalize()V
7396 return-void
7398 + :cond_1c
7399 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7401 + if-eqz v1, :cond_34
7403 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7405 + if-eqz v1, :cond_34
7407 + new-instance v0, Ljava/io/File;
7409 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7411 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7413 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
7415 + move-result v1
7417 + if-eqz v1, :cond_18
7419 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7421 + goto :goto_18
7423 + :cond_34
7424 + const-string v1, "PM,MediaRecorder"
7426 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
7428 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7430 + const/4 v1, 0x0
7432 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7434 + goto :goto_18
7435 .end method
7437 .method public native getMaxAmplitude()I
7438 @@ -256,7 +2120,7 @@
7439 .end method
7441 .method public prepare()V
7442 - .registers 8
7443 + .registers 16
7444 .annotation system Ldalvik/annotation/Throws;
7445 value = {
7446 Ljava/lang/IllegalStateException;,
7447 @@ -264,20 +2128,75 @@
7449 .end annotation
7451 - const-wide/16 v2, 0x0
7452 + const/4 v1, -0x2
7454 + const/4 v3, 0x1
7456 + const-wide/16 v13, 0x0
7458 + const/4 v5, 0x0
7460 + const/4 v2, 0x0
7462 + iget-boolean v0, p0, Landroid/media/MediaRecorder;->privacyMode:Z
7464 + if-nez v0, :cond_d
7466 + invoke-direct {p0}, Landroid/media/MediaRecorder;->initiate()V
7468 + :cond_d
7469 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7471 + const/4 v9, 0x0
7473 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7475 + packed-switch v0, :pswitch_data_f2
7477 + :cond_15
7478 + :goto_15
7479 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7481 + move-result-object v8
7483 + if-nez v9, :cond_2f
7485 + iget v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7487 + if-ne v0, v3, :cond_c3
7489 + if-eqz v8, :cond_c3
7491 + array-length v0, v8
7493 + if-lez v0, :cond_c3
7495 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7497 + aget-object v1, v8, v2
7499 + const-string v4, "camera"
7501 + move v3, v2
7503 + move-object v6, v5
7505 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7507 + :cond_2f
7508 + :goto_2f
7509 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7511 - if-eqz v0, :cond_25
7512 + if-eqz v0, :cond_db
7514 - new-instance v6, Ljava/io/FileOutputStream;
7515 + new-instance v7, Ljava/io/FileOutputStream;
7517 iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7519 - invoke-direct {v6, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
7520 + invoke-direct {v7, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
7522 - :try_start_d
7523 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
7524 + :try_start_3a
7525 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;
7527 move-result-object v1
7529 @@ -288,39 +2207,189 @@
7530 move-object v0, p0
7532 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
7533 - :try_end_19
7534 - .catchall {:try_start_d .. :try_end_19} :catchall_20
7535 + :try_end_46
7536 + .catchall {:try_start_3a .. :try_end_46} :catchall_d6
7538 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
7539 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
7541 - :goto_1c
7542 + :goto_49
7543 invoke-direct {p0}, Landroid/media/MediaRecorder;->_prepare()V
7545 return-void
7547 - :catchall_20
7548 + :pswitch_4d
7549 + const/4 v0, 0x2
7551 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
7553 + move-result v0
7555 + if-ne v0, v1, :cond_15
7557 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7559 + move-result-object v10
7561 + if-eqz v10, :cond_68
7563 + array-length v0, v10
7565 + if-lez v0, :cond_68
7567 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7569 + aget-object v1, v10, v2
7571 + const-string/jumbo v4, "recordAudio"
7573 + move-object v6, v5
7575 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7577 + :cond_68
7578 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
7580 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
7582 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7584 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7586 + const-wide/16 v11, 0x32
7588 + invoke-virtual {v0, v11, v12}, Landroid/media/MediaRecorder$PrivacyRunner;->setDelay(J)V
7590 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7592 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
7594 + const/4 v9, 0x1
7596 + goto :goto_15
7598 + :pswitch_7d
7599 + const/4 v0, 0x3
7601 + invoke-direct {p0, v0}, Landroid/media/MediaRecorder;->checkIfPackagesAllowed(I)I
7603 + move-result v0
7605 + if-ne v0, v1, :cond_15
7607 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPackageName()[Ljava/lang/String;
7609 + move-result-object v10
7611 + if-eqz v10, :cond_97
7613 + array-length v0, v10
7615 + if-lez v0, :cond_97
7617 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7619 + aget-object v1, v10, v2
7621 + const-string v4, "camera"
7623 + move-object v6, v5
7625 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7627 + :cond_97
7628 + iget-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7630 + if-eqz v0, :cond_b0
7632 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyPath()Ljava/lang/String;
7634 + move-result-object v0
7636 + iput-object v0, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7638 + :goto_a1
7639 + new-instance v0, Landroid/media/MediaRecorder$PrivacyRunner;
7641 + invoke-direct {v0, p0}, Landroid/media/MediaRecorder$PrivacyRunner;-><init>(Landroid/media/MediaRecorder;)V
7643 + iput-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7645 + iget-object v0, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7647 + invoke-virtual {v0}, Landroid/media/MediaRecorder$PrivacyRunner;->start()V
7649 + const/4 v9, 0x1
7651 + goto/16 :goto_15
7653 + :cond_b0
7654 + iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7656 + if-eqz v0, :cond_bb
7658 + invoke-direct {p0}, Landroid/media/MediaRecorder;->getPrivacyFileDescriptor()Ljava/io/FileDescriptor;
7660 + move-result-object v0
7662 + iput-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7664 + goto :goto_a1
7666 + :cond_bb
7667 + new-instance v0, Ljava/io/IOException;
7669 + const-string v1, "No valid output file"
7671 + invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
7673 + throw v0
7675 + :cond_c3
7676 + if-eqz v8, :cond_2f
7678 + array-length v0, v8
7680 + if-lez v0, :cond_2f
7682 + iget-object v0, p0, Landroid/media/MediaRecorder;->pSetMan:Landroid/privacy/PrivacySettingsManager;
7684 + aget-object v1, v8, v2
7686 + const-string/jumbo v4, "recordAudio"
7688 + move v3, v2
7690 + move-object v6, v5
7692 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
7694 + goto/16 :goto_2f
7696 + :catchall_d6
7697 move-exception v0
7699 - invoke-virtual {v6}, Ljava/io/FileOutputStream;->close()V
7700 + invoke-virtual {v7}, Ljava/io/FileOutputStream;->close()V
7702 throw v0
7704 - :cond_25
7705 + :cond_db
7706 iget-object v0, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7708 - if-eqz v0, :cond_31
7709 + if-eqz v0, :cond_e9
7711 iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7713 move-object v0, p0
7715 - move-wide v4, v2
7716 + move-wide v2, v13
7718 + move-wide v4, v13
7720 invoke-direct/range {v0 .. v5}, Landroid/media/MediaRecorder;->_setOutputFile(Ljava/io/FileDescriptor;JJ)V
7722 - goto :goto_1c
7723 + goto/16 :goto_49
7725 - :cond_31
7726 + :cond_e9
7727 new-instance v0, Ljava/io/IOException;
7729 const-string v1, "No valid output file"
7730 @@ -328,23 +2397,99 @@
7731 invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
7733 throw v0
7735 + nop
7737 + :pswitch_data_f2
7738 + .packed-switch 0x0
7739 + :pswitch_4d
7740 + :pswitch_7d
7741 + .end packed-switch
7742 .end method
7744 .method public native release()V
7745 .end method
7747 .method public reset()V
7748 - .registers 3
7749 + .registers 5
7751 + const/4 v3, 0x0
7753 + const/4 v2, 0x1
7755 invoke-direct {p0}, Landroid/media/MediaRecorder;->native_reset()V
7757 - iget-object v0, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7758 + iget-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7760 - const/4 v1, 0x0
7761 + if-nez v1, :cond_1c
7763 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7765 + if-eqz v1, :cond_27
7767 + new-instance v0, Ljava/io/File;
7769 + iget-object v1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7771 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7773 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
7775 + move-result v1
7777 + if-eqz v1, :cond_1c
7779 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7781 - invoke-virtual {v0, v1}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
7782 + :cond_1c
7783 + :goto_1c
7784 + iput-object v3, p0, Landroid/media/MediaRecorder;->pRunner:Landroid/media/MediaRecorder$PrivacyRunner;
7786 + invoke-static {}, Ljava/lang/System;->gc()V
7788 + iget-object v1, p0, Landroid/media/MediaRecorder;->mEventHandler:Landroid/media/MediaRecorder$EventHandler;
7790 + invoke-virtual {v1, v3}, Landroid/media/MediaRecorder$EventHandler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
7792 return-void
7794 + :cond_27
7795 + iget-object v1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7797 + if-eqz v1, :cond_3f
7799 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7801 + if-eqz v1, :cond_3f
7803 + new-instance v0, Ljava/io/File;
7805 + iget-object v1, p0, Landroid/media/MediaRecorder;->pFileDescriptorPath:Ljava/lang/String;
7807 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
7809 + invoke-virtual {v0}, Ljava/io/File;->delete()Z
7811 + move-result v1
7813 + if-eqz v1, :cond_1c
7815 + iput-boolean v2, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7817 + goto :goto_1c
7819 + :cond_3f
7820 + const-string v1, "PM,MediaRecorder"
7822 + const-string v2, "Can\'t delete temporary File, because all is null?! It could be that we only want to record audio?!"
7824 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
7826 + const/4 v1, 0x0
7828 + iput-boolean v1, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7830 + goto :goto_1c
7831 .end method
7833 .method public setAudioChannels(I)V
7834 @@ -504,8 +2649,12 @@
7835 .method public setCaptureRate(D)V
7836 .registers 10
7838 + const/4 v5, 0x1
7840 const/4 v6, 0x0
7842 + iput v5, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7844 const-string/jumbo v3, "time-lapse-enable=1"
7846 new-array v4, v6, [Ljava/lang/Object;
7847 @@ -528,9 +2677,7 @@
7849 const-string/jumbo v3, "time-between-time-lapse-frame-capture=%d"
7851 - const/4 v4, 0x1
7853 - new-array v4, v4, [Ljava/lang/Object;
7854 + new-array v4, v5, [Ljava/lang/Object;
7856 invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
7858 @@ -804,6 +2951,10 @@
7860 iput-object p1, p0, Landroid/media/MediaRecorder;->mFd:Ljava/io/FileDescriptor;
7862 + const/4 v0, 0x0
7864 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7866 return-void
7867 .end method
7869 @@ -821,6 +2972,10 @@
7871 iput-object p1, p0, Landroid/media/MediaRecorder;->mPath:Ljava/lang/String;
7873 + const/4 v0, 0x0
7875 + iput-boolean v0, p0, Landroid/media/MediaRecorder;->deletedFile:Z
7877 return-void
7878 .end method
7880 @@ -833,7 +2988,11 @@
7881 .end method
7883 .method public setPreviewDisplay(Landroid/view/Surface;)V
7884 - .registers 2
7885 + .registers 3
7887 + const/4 v0, 0x1
7889 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7891 iput-object p1, p0, Landroid/media/MediaRecorder;->mSurface:Landroid/view/Surface;
7893 @@ -843,6 +3002,10 @@
7894 .method public setProfile(Landroid/media/CamcorderProfile;)V
7895 .registers 4
7897 + const/4 v0, 0x1
7899 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7901 iget v0, p1, Landroid/media/CamcorderProfile;->fileFormat:I
7903 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setOutputFormat(I)V
7904 @@ -869,18 +3032,18 @@
7906 const/16 v1, 0x3e8
7908 - if-lt v0, v1, :cond_28
7909 + if-lt v0, v1, :cond_2b
7911 iget v0, p1, Landroid/media/CamcorderProfile;->quality:I
7913 const/16 v1, 0x3ef
7915 - if-gt v0, v1, :cond_28
7916 + if-gt v0, v1, :cond_2b
7918 - :goto_27
7919 + :goto_2a
7920 return-void
7922 - :cond_28
7923 + :cond_2b
7924 iget v0, p1, Landroid/media/CamcorderProfile;->audioBitRate:I
7926 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncodingBitRate(I)V
7927 @@ -897,7 +3060,7 @@
7929 invoke-virtual {p0, v0}, Landroid/media/MediaRecorder;->setAudioEncoder(I)V
7931 - goto :goto_27
7932 + goto :goto_2a
7933 .end method
7935 .method public native setVideoEncoder(I)V
7936 @@ -911,7 +3074,11 @@
7937 .method public setVideoEncodingBitRate(I)V
7938 .registers 4
7940 - if-gtz p1, :cond_a
7941 + const/4 v0, 0x1
7943 + iput v0, p0, Landroid/media/MediaRecorder;->ACTUAL_STATE:I
7945 + if-gtz p1, :cond_d
7947 new-instance v0, Ljava/lang/IllegalArgumentException;
7949 @@ -921,7 +3088,7 @@
7951 throw v0
7953 - :cond_a
7954 + :cond_d
7955 new-instance v0, Ljava/lang/StringBuilder;
7957 invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
7958 diff -Npru stock-framework/smali/android/net/NetworkInfo.smali ext-framework/smali/android/net/NetworkInfo.smali
7959 --- stock-framework/smali/android/net/NetworkInfo.smali 2012-11-08 09:12:16.522940788 -0600
7960 +++ ext-framework/smali/android/net/NetworkInfo.smali 2012-11-08 09:11:56.094839490 -0600
7961 @@ -814,6 +814,14 @@
7962 throw v0
7963 .end method
7965 +.method public setState(Landroid/net/NetworkInfo$State;)V
7966 + .registers 2
7968 + iput-object p1, p0, Landroid/net/NetworkInfo;->mState:Landroid/net/NetworkInfo$State;
7970 + return-void
7971 +.end method
7973 .method setSubtype(ILjava/lang/String;)V
7974 .registers 4
7976 diff -Npru stock-framework/smali/android/net/wifi/WifiInfo.smali ext-framework/smali/android/net/wifi/WifiInfo.smali
7977 --- stock-framework/smali/android/net/wifi/WifiInfo.smali 2012-11-08 09:12:16.638941366 -0600
7978 +++ ext-framework/smali/android/net/wifi/WifiInfo.smali 2012-11-08 09:11:56.210840067 -0600
7979 @@ -263,6 +263,40 @@
7980 return-void
7981 .end method
7983 +.method public constructor <init>(Z)V
7984 + .registers 4
7986 + const/4 v1, -0x1
7988 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
7990 + const-string v0, ""
7992 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mSSID:Ljava/lang/String;
7994 + const-string v0, ""
7996 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mBSSID:Ljava/lang/String;
7998 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mNetworkId:I
8000 + sget-object v0, Landroid/net/wifi/SupplicantState;->UNINITIALIZED:Landroid/net/wifi/SupplicantState;
8002 + iput-object v0, p0, Landroid/net/wifi/WifiInfo;->mSupplicantState:Landroid/net/wifi/SupplicantState;
8004 + const/16 v0, -0x270f
8006 + iput v0, p0, Landroid/net/wifi/WifiInfo;->mRssi:I
8008 + iput v1, p0, Landroid/net/wifi/WifiInfo;->mLinkSpeed:I
8010 + const/4 v0, 0x0
8012 + iput-boolean v0, p0, Landroid/net/wifi/WifiInfo;->mHiddenSSID:Z
8014 + return-void
8015 +.end method
8017 .method static synthetic access$002(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)Ljava/lang/String;
8018 .registers 2
8020 diff -Npru stock-framework/smali/android/os/SystemProperties.smali ext-framework/smali/android/os/SystemProperties.smali
8021 --- stock-framework/smali/android/os/SystemProperties.smali 2012-11-08 09:12:16.914942732 -0600
8022 +++ ext-framework/smali/android/os/SystemProperties.smali 2012-11-08 09:11:56.470841362 -0600
8023 @@ -4,12 +4,28 @@
8026 # static fields
8027 +.field private static final GOT_ERROR:I = -0x3
8029 +.field private static final IS_ALLOWED:I = -0x1
8031 +.field private static final IS_NOT_ALLOWED:I = -0x2
8033 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "SystemProperties"
8035 .field public static final PROP_NAME_MAX:I = 0x1f
8037 .field public static final PROP_VALUE_MAX:I = 0x5b
8039 .field public static final QCOM_HARDWARE:Z
8041 +.field private static context:Landroid/content/Context;
8043 +.field private static mPm:Landroid/content/pm/IPackageManager;
8045 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
8047 +.field private static privacyMode:Z
8049 .field private static final sChangeCallbacks:Ljava/util/ArrayList;
8050 .annotation system Ldalvik/annotation/Signature;
8051 value = {
8052 @@ -26,10 +42,10 @@
8053 .method static constructor <clinit>()V
8054 .registers 2
8056 - const-string v0, "com.qc.hardware"
8058 const/4 v1, 0x0
8060 + const-string v0, "com.qc.hardware"
8062 invoke-static {v0, v1}, Landroid/os/SystemProperties;->native_get_boolean(Ljava/lang/String;Z)Z
8064 move-result v0
8065 @@ -42,6 +58,8 @@
8067 sput-object v0, Landroid/os/SystemProperties;->sChangeCallbacks:Ljava/util/ArrayList;
8069 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
8071 return-void
8072 .end method
8074 @@ -154,6 +172,205 @@
8075 throw v2
8076 .end method
8078 +.method private static checkIfPackagesAllowed()I
8079 + .registers 8
8081 + const/4 v5, -0x3
8083 + :try_start_1
8084 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
8086 + if-eqz v6, :cond_41
8088 + const/4 v2, 0x0
8090 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
8092 + move-result-object v3
8094 + invoke-static {}, Landroid/os/Process;->myUid()I
8096 + move-result v4
8098 + if-eqz v3, :cond_2c
8100 + const/4 v1, 0x0
8102 + :goto_11
8103 + array-length v6, v3
8105 + if-ge v1, v6, :cond_2a
8107 + sget-object v6, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
8109 + aget-object v7, v3, v1
8111 + invoke-virtual {v6, v7, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
8113 + move-result-object v2
8115 + if-eqz v2, :cond_26
8117 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
8119 + move-result v6
8121 + if-eqz v6, :cond_26
8123 + const/4 v5, -0x2
8125 + :goto_25
8126 + return v5
8128 + :cond_26
8129 + const/4 v2, 0x0
8131 + add-int/lit8 v1, v1, 0x1
8133 + goto :goto_11
8135 + :cond_2a
8136 + const/4 v5, -0x1
8138 + goto :goto_25
8140 + :cond_2c
8141 + const-string v6, "SystemProperties"
8143 + const-string/jumbo v7, "return GOT_ERROR, because package_names are NULL"
8145 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8146 + :try_end_34
8147 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_34} :catch_35
8149 + goto :goto_25
8151 + :catch_35
8152 + move-exception v0
8154 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
8156 + const-string v6, "SystemProperties"
8158 + const-string v7, "Got exception in checkIfPackagesAllowed"
8160 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8162 + goto :goto_25
8164 + :cond_41
8165 + :try_start_41
8166 + const-string v6, "SystemProperties"
8168 + const-string/jumbo v7, "return GOT_ERROR, because pSetMan is NULL"
8170 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8171 + :try_end_49
8172 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_49} :catch_35
8174 + goto :goto_25
8175 +.end method
8177 +.method private static dataAccess(Z)V
8178 + .registers 6
8180 + invoke-static {}, Landroid/os/SystemProperties;->getPackageName()[Ljava/lang/String;
8182 + move-result-object v1
8184 + if-eqz p0, :cond_2f
8186 + if-eqz v1, :cond_2f
8188 + const/4 v0, 0x0
8190 + :goto_9
8191 + array-length v2, v1
8193 + if-ge v0, v2, :cond_58
8195 + const-string v2, "SystemProperties"
8197 + new-instance v3, Ljava/lang/StringBuilder;
8199 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8201 + const-string v4, "Allowed Package: -"
8203 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8205 + move-result-object v3
8207 + aget-object v4, v1, v0
8209 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8211 + move-result-object v3
8213 + const-string v4, "- accessing networkinfo."
8215 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8217 + move-result-object v3
8219 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8221 + move-result-object v3
8223 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8225 + add-int/lit8 v0, v0, 0x1
8227 + goto :goto_9
8229 + :cond_2f
8230 + if-eqz v1, :cond_58
8232 + const/4 v0, 0x0
8234 + :goto_32
8235 + array-length v2, v1
8237 + if-ge v0, v2, :cond_58
8239 + const-string v2, "SystemProperties"
8241 + new-instance v3, Ljava/lang/StringBuilder;
8243 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
8245 + const-string v4, "Blocked Package: -"
8247 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8249 + move-result-object v3
8251 + aget-object v4, v1, v0
8253 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8255 + move-result-object v3
8257 + const-string v4, "- accessing networkinfo."
8259 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
8261 + move-result-object v3
8263 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
8265 + move-result-object v3
8267 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
8269 + add-int/lit8 v0, v0, 0x1
8271 + goto :goto_32
8273 + :cond_58
8274 + return-void
8275 +.end method
8277 .method public static get(Ljava/lang/String;)Ljava/lang/String;
8278 .registers 3
8280 @@ -174,11 +391,53 @@
8281 throw v0
8283 :cond_10
8284 + const-string v0, "gsm.operator.alpha"
8286 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
8288 + move-result v0
8290 + if-nez v0, :cond_20
8292 + const-string v0, "gsm.operator.numeric"
8294 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
8296 + move-result v0
8298 + if-eqz v0, :cond_35
8300 + :cond_20
8301 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
8303 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
8305 + move-result v0
8307 + const/4 v1, -0x2
8309 + if-ne v0, v1, :cond_31
8311 + const/4 v0, 0x0
8313 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
8315 + const-string v0, ""
8317 + :goto_30
8318 + return-object v0
8320 + :cond_31
8321 + const/4 v0, 0x1
8323 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
8325 + :cond_35
8326 invoke-static {p0}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
8328 move-result-object v0
8330 - return-object v0
8331 + goto :goto_30
8332 .end method
8334 .method public static get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
8335 @@ -201,11 +460,53 @@
8336 throw v0
8338 :cond_10
8339 + const-string v0, "gsm.operator.alpha"
8341 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
8343 + move-result v0
8345 + if-nez v0, :cond_20
8347 + const-string v0, "gsm.operator.numeric"
8349 + invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
8351 + move-result v0
8353 + if-eqz v0, :cond_35
8355 + :cond_20
8356 + invoke-static {}, Landroid/os/SystemProperties;->initiate()V
8358 + invoke-static {}, Landroid/os/SystemProperties;->checkIfPackagesAllowed()I
8360 + move-result v0
8362 + const/4 v1, -0x2
8364 + if-ne v0, v1, :cond_31
8366 + const/4 v0, 0x0
8368 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
8370 + const-string v0, ""
8372 + :goto_30
8373 + return-object v0
8375 + :cond_31
8376 + const/4 v0, 0x1
8378 + invoke-static {v0}, Landroid/os/SystemProperties;->dataAccess(Z)V
8380 + :cond_35
8381 invoke-static {p0, p1}, Landroid/os/SystemProperties;->native_get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
8383 move-result-object v0
8385 - return-object v0
8386 + goto :goto_30
8387 .end method
8389 .method public static getBoolean(Ljava/lang/String;Z)Z
8390 @@ -388,6 +689,135 @@
8391 goto :goto_2c
8392 .end method
8394 +.method private static getPackageName()[Ljava/lang/String;
8395 + .registers 5
8397 + :try_start_0
8398 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
8400 + if-eqz v3, :cond_f
8402 + invoke-static {}, Landroid/os/Process;->myUid()I
8404 + move-result v2
8406 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
8408 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
8410 + move-result-object v1
8412 + :goto_e
8413 + return-object v1
8415 + :cond_f
8416 + const-string/jumbo v3, "package"
8418 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
8420 + move-result-object v3
8422 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
8424 + move-result-object v3
8426 + sput-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
8428 + invoke-static {}, Landroid/os/Process;->myUid()I
8430 + move-result v2
8432 + sget-object v3, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
8434 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
8435 + :try_end_25
8436 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
8438 + move-result-object v1
8440 + goto :goto_e
8442 + :catch_27
8443 + move-exception v0
8445 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
8447 + const-string v3, "SystemProperties"
8449 + const-string/jumbo v4, "something went wrong with getting package name"
8451 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8453 + const/4 v1, 0x0
8455 + goto :goto_e
8456 +.end method
8458 +.method private static initiate()V
8459 + .registers 4
8461 + const/4 v1, 0x0
8463 + :try_start_1
8464 + sput-object v1, Landroid/os/SystemProperties;->context:Landroid/content/Context;
8466 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
8468 + sget-object v2, Landroid/os/SystemProperties;->context:Landroid/content/Context;
8470 + const-string/jumbo v3, "privacy"
8472 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
8474 + move-result-object v3
8476 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
8478 + move-result-object v3
8480 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
8482 + sput-object v1, Landroid/os/SystemProperties;->pSetMan:Landroid/privacy/PrivacySettingsManager;
8484 + const-string/jumbo v1, "package"
8486 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
8488 + move-result-object v1
8490 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
8492 + move-result-object v1
8494 + sput-object v1, Landroid/os/SystemProperties;->mPm:Landroid/content/pm/IPackageManager;
8496 + const/4 v1, 0x1
8498 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
8499 + :try_end_27
8500 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
8502 + :goto_27
8503 + return-void
8505 + :catch_28
8506 + move-exception v0
8508 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
8510 + const-string v1, "SystemProperties"
8512 + const-string v2, "Something went wrong with initalize variables"
8514 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
8516 + const/4 v1, 0x0
8518 + sput-boolean v1, Landroid/os/SystemProperties;->privacyMode:Z
8520 + goto :goto_27
8521 +.end method
8523 .method private static native native_add_change_callback()V
8524 .end method
8526 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager.smali ext-framework/smali/android/privacy/IPrivacySettingsManager.smali
8527 --- stock-framework/smali/android/privacy/IPrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
8528 +++ ext-framework/smali/android/privacy/IPrivacySettingsManager.smali 2012-11-08 09:11:56.530841650 -0600
8529 @@ -0,0 +1,104 @@
8530 +.class public interface abstract Landroid/privacy/IPrivacySettingsManager;
8531 +.super Ljava/lang/Object;
8532 +.source "IPrivacySettingsManager.java"
8534 +# interfaces
8535 +.implements Landroid/os/IInterface;
8538 +# annotations
8539 +.annotation system Ldalvik/annotation/MemberClasses;
8540 + value = {
8541 + Landroid/privacy/IPrivacySettingsManager$Stub;
8543 +.end annotation
8546 +# virtual methods
8547 +.method public abstract addObserver(Ljava/lang/String;)V
8548 + .annotation system Ldalvik/annotation/Throws;
8549 + value = {
8550 + Landroid/os/RemoteException;
8552 + .end annotation
8553 +.end method
8555 +.method public abstract deleteSettings(Ljava/lang/String;)Z
8556 + .annotation system Ldalvik/annotation/Throws;
8557 + value = {
8558 + Landroid/os/RemoteException;
8560 + .end annotation
8561 +.end method
8563 +.method public abstract getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
8564 + .annotation system Ldalvik/annotation/Throws;
8565 + value = {
8566 + Landroid/os/RemoteException;
8568 + .end annotation
8569 +.end method
8571 +.method public abstract getVersion()D
8572 + .annotation system Ldalvik/annotation/Throws;
8573 + value = {
8574 + Landroid/os/RemoteException;
8576 + .end annotation
8577 +.end method
8579 +.method public abstract notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
8580 + .annotation system Ldalvik/annotation/Throws;
8581 + value = {
8582 + Landroid/os/RemoteException;
8584 + .end annotation
8585 +.end method
8587 +.method public abstract purgeSettings()Z
8588 + .annotation system Ldalvik/annotation/Throws;
8589 + value = {
8590 + Landroid/os/RemoteException;
8592 + .end annotation
8593 +.end method
8595 +.method public abstract registerObservers()V
8596 + .annotation system Ldalvik/annotation/Throws;
8597 + value = {
8598 + Landroid/os/RemoteException;
8600 + .end annotation
8601 +.end method
8603 +.method public abstract saveSettings(Landroid/privacy/PrivacySettings;)Z
8604 + .annotation system Ldalvik/annotation/Throws;
8605 + value = {
8606 + Landroid/os/RemoteException;
8608 + .end annotation
8609 +.end method
8611 +.method public abstract setBootCompleted()V
8612 + .annotation system Ldalvik/annotation/Throws;
8613 + value = {
8614 + Landroid/os/RemoteException;
8616 + .end annotation
8617 +.end method
8619 +.method public abstract setEnabled(Z)Z
8620 + .annotation system Ldalvik/annotation/Throws;
8621 + value = {
8622 + Landroid/os/RemoteException;
8624 + .end annotation
8625 +.end method
8627 +.method public abstract setNotificationsEnabled(Z)Z
8628 + .annotation system Ldalvik/annotation/Throws;
8629 + value = {
8630 + Landroid/os/RemoteException;
8632 + .end annotation
8633 +.end method
8634 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali ext-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali
8635 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 1969-12-31 18:00:00.000000000 -0600
8636 +++ ext-framework/smali/android/privacy/IPrivacySettingsManager$Stub$Proxy.smali 2012-11-08 09:11:56.530841650 -0600
8637 @@ -0,0 +1,743 @@
8638 +.class Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
8639 +.super Ljava/lang/Object;
8640 +.source "IPrivacySettingsManager.java"
8642 +# interfaces
8643 +.implements Landroid/privacy/IPrivacySettingsManager;
8646 +# annotations
8647 +.annotation system Ldalvik/annotation/EnclosingClass;
8648 + value = Landroid/privacy/IPrivacySettingsManager$Stub;
8649 +.end annotation
8651 +.annotation system Ldalvik/annotation/InnerClass;
8652 + accessFlags = 0xa
8653 + name = "Proxy"
8654 +.end annotation
8657 +# instance fields
8658 +.field private mRemote:Landroid/os/IBinder;
8661 +# direct methods
8662 +.method constructor <init>(Landroid/os/IBinder;)V
8663 + .registers 2
8665 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
8667 + iput-object p1, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8669 + return-void
8670 +.end method
8673 +# virtual methods
8674 +.method public addObserver(Ljava/lang/String;)V
8675 + .registers 7
8676 + .annotation system Ldalvik/annotation/Throws;
8677 + value = {
8678 + Landroid/os/RemoteException;
8680 + .end annotation
8682 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8684 + move-result-object v0
8686 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8688 + move-result-object v1
8690 + :try_start_8
8691 + const-string v2, "android.privacy.IPrivacySettingsManager"
8693 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
8695 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
8697 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8699 + const/4 v3, 0x6
8701 + const/4 v4, 0x0
8703 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
8705 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
8706 + :try_end_1a
8707 + .catchall {:try_start_8 .. :try_end_1a} :catchall_21
8709 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8711 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8713 + return-void
8715 + :catchall_21
8716 + move-exception v2
8718 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8720 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8722 + throw v2
8723 +.end method
8725 +.method public asBinder()Landroid/os/IBinder;
8726 + .registers 2
8728 + iget-object v0, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8730 + return-object v0
8731 +.end method
8733 +.method public deleteSettings(Ljava/lang/String;)Z
8734 + .registers 8
8735 + .annotation system Ldalvik/annotation/Throws;
8736 + value = {
8737 + Landroid/os/RemoteException;
8739 + .end annotation
8741 + const/4 v2, 0x0
8743 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8745 + move-result-object v0
8747 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8749 + move-result-object v1
8751 + :try_start_9
8752 + const-string v3, "android.privacy.IPrivacySettingsManager"
8754 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
8756 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
8758 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8760 + const/4 v4, 0x3
8762 + const/4 v5, 0x0
8764 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
8766 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
8768 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
8769 + :try_end_1e
8770 + .catchall {:try_start_9 .. :try_end_1e} :catchall_29
8772 + move-result v3
8774 + if-eqz v3, :cond_22
8776 + const/4 v2, 0x1
8778 + :cond_22
8779 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8781 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8783 + return v2
8785 + :catchall_29
8786 + move-exception v3
8788 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8790 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8792 + throw v3
8793 +.end method
8795 +.method public getInterfaceDescriptor()Ljava/lang/String;
8796 + .registers 2
8798 + const-string v0, "android.privacy.IPrivacySettingsManager"
8800 + return-object v0
8801 +.end method
8803 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
8804 + .registers 8
8805 + .annotation system Ldalvik/annotation/Throws;
8806 + value = {
8807 + Landroid/os/RemoteException;
8809 + .end annotation
8811 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8813 + move-result-object v0
8815 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8817 + move-result-object v1
8819 + :try_start_8
8820 + const-string v3, "android.privacy.IPrivacySettingsManager"
8822 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
8824 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
8826 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8828 + const/4 v4, 0x1
8830 + const/4 v5, 0x0
8832 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
8834 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
8836 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
8838 + move-result v3
8840 + if-eqz v3, :cond_2f
8842 + sget-object v3, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
8844 + invoke-interface {v3, v1}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
8846 + move-result-object v2
8848 + check-cast v2, Landroid/privacy/PrivacySettings;
8849 + :try_end_28
8850 + .catchall {:try_start_8 .. :try_end_28} :catchall_31
8852 + :goto_28
8853 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8855 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8857 + return-object v2
8859 + :cond_2f
8860 + const/4 v2, 0x0
8862 + goto :goto_28
8864 + :catchall_31
8865 + move-exception v3
8867 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8869 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8871 + throw v3
8872 +.end method
8874 +.method public getVersion()D
8875 + .registers 8
8876 + .annotation system Ldalvik/annotation/Throws;
8877 + value = {
8878 + Landroid/os/RemoteException;
8880 + .end annotation
8882 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8884 + move-result-object v0
8886 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8888 + move-result-object v1
8890 + :try_start_8
8891 + const-string v4, "android.privacy.IPrivacySettingsManager"
8893 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
8895 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8897 + const/16 v5, 0x8
8899 + const/4 v6, 0x0
8901 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
8903 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
8905 + invoke-virtual {v1}, Landroid/os/Parcel;->readDouble()D
8906 + :try_end_1b
8907 + .catchall {:try_start_8 .. :try_end_1b} :catchall_23
8909 + move-result-wide v2
8911 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8913 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8915 + return-wide v2
8917 + :catchall_23
8918 + move-exception v4
8920 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8922 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8924 + throw v4
8925 +.end method
8927 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
8928 + .registers 10
8929 + .annotation system Ldalvik/annotation/Throws;
8930 + value = {
8931 + Landroid/os/RemoteException;
8933 + .end annotation
8935 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8937 + move-result-object v0
8939 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8941 + move-result-object v1
8943 + :try_start_8
8944 + const-string v2, "android.privacy.IPrivacySettingsManager"
8946 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
8948 + invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
8950 + invoke-virtual {v0, p2}, Landroid/os/Parcel;->writeByte(B)V
8952 + invoke-virtual {v0, p3}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
8954 + invoke-virtual {v0, p4}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
8956 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
8958 + const/4 v3, 0x4
8960 + const/4 v4, 0x0
8962 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
8964 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
8965 + :try_end_23
8966 + .catchall {:try_start_8 .. :try_end_23} :catchall_2a
8968 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8970 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8972 + return-void
8974 + :catchall_2a
8975 + move-exception v2
8977 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
8979 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
8981 + throw v2
8982 +.end method
8984 +.method public purgeSettings()Z
8985 + .registers 7
8986 + .annotation system Ldalvik/annotation/Throws;
8987 + value = {
8988 + Landroid/os/RemoteException;
8990 + .end annotation
8992 + const/4 v2, 0x0
8994 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
8996 + move-result-object v0
8998 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9000 + move-result-object v1
9002 + :try_start_9
9003 + const-string v3, "android.privacy.IPrivacySettingsManager"
9005 + invoke-virtual {v0, v3}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
9007 + iget-object v3, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
9009 + const/4 v4, 0x7
9011 + const/4 v5, 0x0
9013 + invoke-interface {v3, v4, v0, v1, v5}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9015 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
9017 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
9018 + :try_end_1b
9019 + .catchall {:try_start_9 .. :try_end_1b} :catchall_26
9021 + move-result v3
9023 + if-eqz v3, :cond_1f
9025 + const/4 v2, 0x1
9027 + :cond_1f
9028 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9030 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9032 + return v2
9034 + :catchall_26
9035 + move-exception v3
9037 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9039 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9041 + throw v3
9042 +.end method
9044 +.method public registerObservers()V
9045 + .registers 6
9046 + .annotation system Ldalvik/annotation/Throws;
9047 + value = {
9048 + Landroid/os/RemoteException;
9050 + .end annotation
9052 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9054 + move-result-object v0
9056 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9058 + move-result-object v1
9060 + :try_start_8
9061 + const-string v2, "android.privacy.IPrivacySettingsManager"
9063 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
9065 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
9067 + const/4 v3, 0x5
9069 + const/4 v4, 0x0
9071 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9073 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
9074 + :try_end_17
9075 + .catchall {:try_start_8 .. :try_end_17} :catchall_1e
9077 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9079 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9081 + return-void
9083 + :catchall_1e
9084 + move-exception v2
9086 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9088 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9090 + throw v2
9091 +.end method
9093 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
9094 + .registers 9
9095 + .annotation system Ldalvik/annotation/Throws;
9096 + value = {
9097 + Landroid/os/RemoteException;
9099 + .end annotation
9101 + const/4 v2, 0x1
9103 + const/4 v3, 0x0
9105 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9107 + move-result-object v0
9109 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9111 + move-result-object v1
9113 + :try_start_a
9114 + const-string v4, "android.privacy.IPrivacySettingsManager"
9116 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
9118 + if-eqz p1, :cond_30
9120 + const/4 v4, 0x1
9122 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
9124 + const/4 v4, 0x0
9126 + invoke-virtual {p1, v0, v4}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
9128 + :goto_19
9129 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
9131 + const/4 v5, 0x2
9133 + const/4 v6, 0x0
9135 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9137 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
9139 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
9140 + :try_end_26
9141 + .catchall {:try_start_a .. :try_end_26} :catchall_35
9143 + move-result v4
9145 + if-eqz v4, :cond_3d
9147 + :goto_29
9148 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9150 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9152 + return v2
9154 + :cond_30
9155 + const/4 v4, 0x0
9157 + :try_start_31
9158 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
9159 + :try_end_34
9160 + .catchall {:try_start_31 .. :try_end_34} :catchall_35
9162 + goto :goto_19
9164 + :catchall_35
9165 + move-exception v3
9167 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9169 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9171 + throw v3
9173 + :cond_3d
9174 + move v2, v3
9176 + goto :goto_29
9177 +.end method
9179 +.method public setBootCompleted()V
9180 + .registers 6
9181 + .annotation system Ldalvik/annotation/Throws;
9182 + value = {
9183 + Landroid/os/RemoteException;
9185 + .end annotation
9187 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9189 + move-result-object v0
9191 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9193 + move-result-object v1
9195 + :try_start_8
9196 + const-string v2, "android.privacy.IPrivacySettingsManager"
9198 + invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
9200 + iget-object v2, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
9202 + const/16 v3, 0xb
9204 + const/4 v4, 0x0
9206 + invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9208 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
9209 + :try_end_18
9210 + .catchall {:try_start_8 .. :try_end_18} :catchall_1f
9212 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9214 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9216 + return-void
9218 + :catchall_1f
9219 + move-exception v2
9221 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9223 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9225 + throw v2
9226 +.end method
9228 +.method public setEnabled(Z)Z
9229 + .registers 9
9230 + .annotation system Ldalvik/annotation/Throws;
9231 + value = {
9232 + Landroid/os/RemoteException;
9234 + .end annotation
9236 + const/4 v2, 0x1
9238 + const/4 v3, 0x0
9240 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9242 + move-result-object v0
9244 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9246 + move-result-object v1
9248 + :try_start_a
9249 + const-string v4, "android.privacy.IPrivacySettingsManager"
9251 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
9253 + if-eqz p1, :cond_2d
9255 + move v4, v2
9257 + :goto_12
9258 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
9260 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
9262 + const/16 v5, 0x9
9264 + const/4 v6, 0x0
9266 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9268 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
9270 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
9271 + :try_end_23
9272 + .catchall {:try_start_a .. :try_end_23} :catchall_31
9274 + move-result v4
9276 + if-eqz v4, :cond_2f
9278 + :goto_26
9279 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9281 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9283 + return v2
9285 + :cond_2d
9286 + move v4, v3
9288 + goto :goto_12
9290 + :cond_2f
9291 + move v2, v3
9293 + goto :goto_26
9295 + :catchall_31
9296 + move-exception v3
9298 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9300 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9302 + throw v3
9303 +.end method
9305 +.method public setNotificationsEnabled(Z)Z
9306 + .registers 9
9307 + .annotation system Ldalvik/annotation/Throws;
9308 + value = {
9309 + Landroid/os/RemoteException;
9311 + .end annotation
9313 + const/4 v2, 0x1
9315 + const/4 v3, 0x0
9317 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9319 + move-result-object v0
9321 + invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
9323 + move-result-object v1
9325 + :try_start_a
9326 + const-string v4, "android.privacy.IPrivacySettingsManager"
9328 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
9330 + if-eqz p1, :cond_2d
9332 + move v4, v2
9334 + :goto_12
9335 + invoke-virtual {v0, v4}, Landroid/os/Parcel;->writeInt(I)V
9337 + iget-object v4, p0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;->mRemote:Landroid/os/IBinder;
9339 + const/16 v5, 0xa
9341 + const/4 v6, 0x0
9343 + invoke-interface {v4, v5, v0, v1, v6}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9345 + invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
9347 + invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
9348 + :try_end_23
9349 + .catchall {:try_start_a .. :try_end_23} :catchall_31
9351 + move-result v4
9353 + if-eqz v4, :cond_2f
9355 + :goto_26
9356 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9358 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9360 + return v2
9362 + :cond_2d
9363 + move v4, v3
9365 + goto :goto_12
9367 + :cond_2f
9368 + move v2, v3
9370 + goto :goto_26
9372 + :catchall_31
9373 + move-exception v3
9375 + invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
9377 + invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
9379 + throw v3
9380 +.end method
9381 diff -Npru stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali ext-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali
9382 --- stock-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 1969-12-31 18:00:00.000000000 -0600
9383 +++ ext-framework/smali/android/privacy/IPrivacySettingsManager$Stub.smali 2012-11-08 09:11:56.530841650 -0600
9384 @@ -0,0 +1,412 @@
9385 +.class public abstract Landroid/privacy/IPrivacySettingsManager$Stub;
9386 +.super Landroid/os/Binder;
9387 +.source "IPrivacySettingsManager.java"
9389 +# interfaces
9390 +.implements Landroid/privacy/IPrivacySettingsManager;
9393 +# annotations
9394 +.annotation system Ldalvik/annotation/EnclosingClass;
9395 + value = Landroid/privacy/IPrivacySettingsManager;
9396 +.end annotation
9398 +.annotation system Ldalvik/annotation/InnerClass;
9399 + accessFlags = 0x409
9400 + name = "Stub"
9401 +.end annotation
9403 +.annotation system Ldalvik/annotation/MemberClasses;
9404 + value = {
9405 + Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
9407 +.end annotation
9410 +# static fields
9411 +.field private static final DESCRIPTOR:Ljava/lang/String; = "android.privacy.IPrivacySettingsManager"
9413 +.field static final TRANSACTION_addObserver:I = 0x6
9415 +.field static final TRANSACTION_deleteSettings:I = 0x3
9417 +.field static final TRANSACTION_getSettings:I = 0x1
9419 +.field static final TRANSACTION_getVersion:I = 0x8
9421 +.field static final TRANSACTION_notification:I = 0x4
9423 +.field static final TRANSACTION_purgeSettings:I = 0x7
9425 +.field static final TRANSACTION_registerObservers:I = 0x5
9427 +.field static final TRANSACTION_saveSettings:I = 0x2
9429 +.field static final TRANSACTION_setBootCompleted:I = 0xb
9431 +.field static final TRANSACTION_setEnabled:I = 0x9
9433 +.field static final TRANSACTION_setNotificationsEnabled:I = 0xa
9436 +# direct methods
9437 +.method public constructor <init>()V
9438 + .registers 2
9440 + invoke-direct {p0}, Landroid/os/Binder;-><init>()V
9442 + const-string v0, "android.privacy.IPrivacySettingsManager"
9444 + invoke-virtual {p0, p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->attachInterface(Landroid/os/IInterface;Ljava/lang/String;)V
9446 + return-void
9447 +.end method
9449 +.method public static asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
9450 + .registers 3
9452 + if-nez p0, :cond_4
9454 + const/4 v0, 0x0
9456 + :goto_3
9457 + return-object v0
9459 + :cond_4
9460 + const-string v1, "android.privacy.IPrivacySettingsManager"
9462 + invoke-interface {p0, v1}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
9464 + move-result-object v0
9466 + if-eqz v0, :cond_13
9468 + instance-of v1, v0, Landroid/privacy/IPrivacySettingsManager;
9470 + if-eqz v1, :cond_13
9472 + check-cast v0, Landroid/privacy/IPrivacySettingsManager;
9474 + goto :goto_3
9476 + :cond_13
9477 + new-instance v0, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;
9479 + invoke-direct {v0, p0}, Landroid/privacy/IPrivacySettingsManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
9481 + goto :goto_3
9482 +.end method
9485 +# virtual methods
9486 +.method public asBinder()Landroid/os/IBinder;
9487 + .registers 1
9489 + return-object p0
9490 +.end method
9492 +.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9493 + .registers 14
9494 + .annotation system Ldalvik/annotation/Throws;
9495 + value = {
9496 + Landroid/os/RemoteException;
9498 + .end annotation
9500 + const/4 v6, 0x0
9502 + const/4 v7, 0x1
9504 + sparse-switch p1, :sswitch_data_10e
9506 + invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
9508 + move-result v7
9510 + :goto_9
9511 + return v7
9513 + :sswitch_a
9514 + const-string v6, "android.privacy.IPrivacySettingsManager"
9516 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
9518 + goto :goto_9
9520 + :sswitch_10
9521 + const-string v8, "android.privacy.IPrivacySettingsManager"
9523 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9525 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
9527 + move-result-object v0
9529 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
9531 + move-result-object v4
9533 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9535 + if-eqz v4, :cond_29
9537 + invoke-virtual {p3, v7}, Landroid/os/Parcel;->writeInt(I)V
9539 + invoke-virtual {v4, p3, v7}, Landroid/privacy/PrivacySettings;->writeToParcel(Landroid/os/Parcel;I)V
9541 + goto :goto_9
9543 + :cond_29
9544 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
9546 + goto :goto_9
9548 + :sswitch_2d
9549 + const-string v8, "android.privacy.IPrivacySettingsManager"
9551 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9553 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
9555 + move-result v8
9557 + if-eqz v8, :cond_4e
9559 + sget-object v8, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
9561 + invoke-interface {v8, p2}, Landroid/os/Parcelable$Creator;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
9563 + move-result-object v0
9565 + check-cast v0, Landroid/privacy/PrivacySettings;
9567 + :goto_40
9568 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->saveSettings(Landroid/privacy/PrivacySettings;)Z
9570 + move-result v4
9572 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9574 + if-eqz v4, :cond_4a
9576 + move v6, v7
9578 + :cond_4a
9579 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
9581 + goto :goto_9
9583 + :cond_4e
9584 + const/4 v0, 0x0
9586 + goto :goto_40
9588 + :sswitch_50
9589 + const-string v8, "android.privacy.IPrivacySettingsManager"
9591 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9593 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
9595 + move-result-object v0
9597 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->deleteSettings(Ljava/lang/String;)Z
9599 + move-result v4
9601 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9603 + if-eqz v4, :cond_63
9605 + move v6, v7
9607 + :cond_63
9608 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
9610 + goto :goto_9
9612 + :sswitch_67
9613 + const-string v6, "android.privacy.IPrivacySettingsManager"
9615 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9617 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
9619 + move-result-object v0
9621 + invoke-virtual {p2}, Landroid/os/Parcel;->readByte()B
9623 + move-result v1
9625 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
9627 + move-result-object v2
9629 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
9631 + move-result-object v3
9633 + invoke-virtual {p0, v0, v1, v2, v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
9635 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9637 + goto :goto_9
9639 + :sswitch_83
9640 + const-string v6, "android.privacy.IPrivacySettingsManager"
9642 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9644 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->registerObservers()V
9646 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9648 + goto/16 :goto_9
9650 + :sswitch_90
9651 + const-string v6, "android.privacy.IPrivacySettingsManager"
9653 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9655 + invoke-virtual {p2}, Landroid/os/Parcel;->readString()Ljava/lang/String;
9657 + move-result-object v0
9659 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->addObserver(Ljava/lang/String;)V
9661 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9663 + goto/16 :goto_9
9665 + :sswitch_a1
9666 + const-string v8, "android.privacy.IPrivacySettingsManager"
9668 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9670 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->purgeSettings()Z
9672 + move-result v4
9674 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9676 + if-eqz v4, :cond_b0
9678 + move v6, v7
9680 + :cond_b0
9681 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
9683 + goto/16 :goto_9
9685 + :sswitch_b5
9686 + const-string v6, "android.privacy.IPrivacySettingsManager"
9688 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9690 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->getVersion()D
9692 + move-result-wide v4
9694 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9696 + invoke-virtual {p3, v4, v5}, Landroid/os/Parcel;->writeDouble(D)V
9698 + goto/16 :goto_9
9700 + :sswitch_c6
9701 + const-string v8, "android.privacy.IPrivacySettingsManager"
9703 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9705 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
9707 + move-result v8
9709 + if-eqz v8, :cond_e1
9711 + move v0, v7
9713 + :goto_d2
9714 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setEnabled(Z)Z
9716 + move-result v4
9718 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9720 + if-eqz v4, :cond_dc
9722 + move v6, v7
9724 + :cond_dc
9725 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
9727 + goto/16 :goto_9
9729 + :cond_e1
9730 + move v0, v6
9732 + goto :goto_d2
9734 + :sswitch_e3
9735 + const-string v8, "android.privacy.IPrivacySettingsManager"
9737 + invoke-virtual {p2, v8}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9739 + invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
9741 + move-result v8
9743 + if-eqz v8, :cond_fe
9745 + move v0, v7
9747 + :goto_ef
9748 + invoke-virtual {p0, v0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setNotificationsEnabled(Z)Z
9750 + move-result v4
9752 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9754 + if-eqz v4, :cond_f9
9756 + move v6, v7
9758 + :cond_f9
9759 + invoke-virtual {p3, v6}, Landroid/os/Parcel;->writeInt(I)V
9761 + goto/16 :goto_9
9763 + :cond_fe
9764 + move v0, v6
9766 + goto :goto_ef
9768 + :sswitch_100
9769 + const-string v6, "android.privacy.IPrivacySettingsManager"
9771 + invoke-virtual {p2, v6}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
9773 + invoke-virtual {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;->setBootCompleted()V
9775 + invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
9777 + goto/16 :goto_9
9779 + nop
9781 + :sswitch_data_10e
9782 + .sparse-switch
9783 + 0x1 -> :sswitch_10
9784 + 0x2 -> :sswitch_2d
9785 + 0x3 -> :sswitch_50
9786 + 0x4 -> :sswitch_67
9787 + 0x5 -> :sswitch_83
9788 + 0x6 -> :sswitch_90
9789 + 0x7 -> :sswitch_a1
9790 + 0x8 -> :sswitch_b5
9791 + 0x9 -> :sswitch_c6
9792 + 0xa -> :sswitch_e3
9793 + 0xb -> :sswitch_100
9794 + 0x5f4e5446 -> :sswitch_a
9795 + .end sparse-switch
9796 +.end method
9797 diff -Npru stock-framework/smali/android/privacy/PrivacyFileObserver.smali ext-framework/smali/android/privacy/PrivacyFileObserver.smali
9798 --- stock-framework/smali/android/privacy/PrivacyFileObserver.smali 1969-12-31 18:00:00.000000000 -0600
9799 +++ ext-framework/smali/android/privacy/PrivacyFileObserver.smali 2012-11-08 09:11:56.530841650 -0600
9800 @@ -0,0 +1,272 @@
9801 +.class public Landroid/privacy/PrivacyFileObserver;
9802 +.super Landroid/os/FileObserver;
9803 +.source "PrivacyFileObserver.java"
9806 +# static fields
9807 +.field public static final PACKAGE_PATH_INDEX:I = 0x3
9809 +.field public static final SETTINGS_TYPE_INDEX:I = 0x4
9811 +.field public static final TAG:Ljava/lang/String; = "PrivacyFileObserver"
9814 +# instance fields
9815 +.field public absolutePath:Ljava/lang/String;
9817 +.field public children:Ljava/util/HashMap;
9818 + .annotation system Ldalvik/annotation/Signature;
9819 + value = {
9820 + "Ljava/util/HashMap",
9821 + "<",
9822 + "Ljava/lang/String;",
9823 + "Landroid/privacy/PrivacyFileObserver;",
9824 + ">;"
9826 + .end annotation
9827 +.end field
9829 +.field private pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
9832 +# direct methods
9833 +.method public constructor <init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
9834 + .registers 12
9836 + const/16 v8, 0xfff
9838 + invoke-direct {p0, p1, v8}, Landroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
9840 + iput-object p1, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
9842 + iput-object p2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
9844 + new-instance v8, Ljava/util/HashMap;
9846 + invoke-direct {v8}, Ljava/util/HashMap;-><init>()V
9848 + iput-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
9850 + new-instance v7, Ljava/io/File;
9852 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
9854 + invoke-direct {v7, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
9856 + invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
9858 + move-result v8
9860 + if-eqz v8, :cond_42
9862 + invoke-virtual {v7}, Ljava/io/File;->listFiles()[Ljava/io/File;
9864 + move-result-object v6
9866 + move-object v0, v6
9868 + array-length v4, v0
9870 + const/4 v3, 0x0
9872 + :goto_24
9873 + if-ge v3, v4, :cond_42
9875 + aget-object v2, v0, v3
9877 + invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
9879 + move-result-object v5
9881 + new-instance v1, Landroid/privacy/PrivacyFileObserver;
9883 + invoke-direct {v1, v5, p2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
9885 + iget-object v8, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
9887 + invoke-virtual {v8, v5, v1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
9889 + invoke-virtual {v2}, Ljava/io/File;->isFile()Z
9891 + move-result v8
9893 + if-eqz v8, :cond_3f
9895 + invoke-virtual {v1}, Landroid/privacy/PrivacyFileObserver;->startWatching()V
9897 + :cond_3f
9898 + add-int/lit8 v3, v3, 0x1
9900 + goto :goto_24
9902 + :cond_42
9903 + return-void
9904 +.end method
9907 +# virtual methods
9908 +.method public addObserver(Ljava/lang/String;)V
9909 + .registers 6
9911 + new-instance v2, Ljava/lang/StringBuilder;
9913 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
9915 + iget-object v3, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
9917 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9919 + move-result-object v2
9921 + const-string v3, "/"
9923 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9925 + move-result-object v2
9927 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
9929 + move-result-object v2
9931 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
9933 + move-result-object v1
9935 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
9937 + invoke-virtual {v2, v1}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
9939 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
9941 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
9943 + invoke-direct {v0, v1, v2}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
9945 + iget-object v2, p0, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
9947 + invoke-virtual {v2, v1, v0}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
9949 + return-void
9950 +.end method
9952 +.method public onEvent(ILjava/lang/String;)V
9953 + .registers 12
9955 + and-int/lit8 v5, p1, 0x1
9957 + if-eqz v5, :cond_48
9959 + new-instance v4, Ljava/util/StringTokenizer;
9961 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->absolutePath:Ljava/lang/String;
9963 + const-string v6, "/"
9965 + invoke-direct {v4, v5, v6}, Ljava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
9967 + const/4 v0, 0x0
9969 + :goto_e
9970 + const/4 v5, 0x3
9972 + if-ge v0, v5, :cond_1d
9974 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
9976 + move-result v5
9978 + if-eqz v5, :cond_1d
9980 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
9982 + add-int/lit8 v0, v0, 0x1
9984 + goto :goto_e
9986 + :cond_1d
9987 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
9989 + move-result-object v2
9991 + const/4 v3, 0x0
9993 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->hasMoreElements()Z
9995 + move-result v5
9997 + if-eqz v5, :cond_2c
9999 + invoke-virtual {v4}, Ljava/util/StringTokenizer;->nextToken()Ljava/lang/String;
10001 + move-result-object v3
10003 + :cond_2c
10004 + if-eqz v3, :cond_49
10006 + :try_start_2e
10007 + const-string v5, "ipTableProtectSetting"
10009 + invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
10011 + move-result v5
10013 + if-eqz v5, :cond_49
10015 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
10017 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10019 + move-result-object v1
10021 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
10023 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
10025 + move-result v6
10027 + const-string v7, "iptables"
10029 + const/4 v8, 0x0
10031 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10033 + :cond_48
10034 + :goto_48
10035 + return-void
10037 + :cond_49
10038 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
10040 + invoke-virtual {v5, v2}, Landroid/privacy/PrivacySettingsManagerService;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
10042 + move-result-object v1
10044 + iget-object v5, p0, Landroid/privacy/PrivacyFileObserver;->pSetManServ:Landroid/privacy/PrivacySettingsManagerService;
10046 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
10048 + move-result v6
10050 + const-string/jumbo v7, "systemLogs"
10052 + const/4 v8, 0x0
10054 + invoke-virtual {v5, v2, v6, v7, v8}, Landroid/privacy/PrivacySettingsManagerService;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
10055 + :try_end_5c
10056 + .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_5c} :catch_5d
10058 + goto :goto_48
10060 + :catch_5d
10061 + move-exception v5
10063 + goto :goto_48
10064 +.end method
10066 +.method public startWatching()V
10067 + .registers 1
10069 + invoke-super {p0}, Landroid/os/FileObserver;->startWatching()V
10071 + return-void
10072 +.end method
10073 diff -Npru stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali ext-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali
10074 --- stock-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 1969-12-31 18:00:00.000000000 -0600
10075 +++ ext-framework/smali/android/privacy/PrivacyPersistenceAdapter.smali 2012-11-08 09:11:56.538841700 -0600
10076 @@ -0,0 +1,5092 @@
10077 +.class public Landroid/privacy/PrivacyPersistenceAdapter;
10078 +.super Ljava/lang/Object;
10079 +.source "PrivacyPersistenceAdapter.java"
10082 +# static fields
10083 +.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) );"
10085 +.field private static final CREATE_TABLE_MAP:Ljava/lang/String; = "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
10087 +.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);"
10089 +.field private static final DATABASE_FIELDS:[Ljava/lang/String; = null
10091 +.field private static final DATABASE_FILE:Ljava/lang/String; = "/data/system/privacy.db"
10093 +.field private static final DATABASE_VERSION:I = 0x4
10095 +.field public static final DUMMY_UID:I = -0x1
10097 +.field private static final INSERT_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
10099 +.field private static final INSERT_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
10101 +.field private static final INSERT_VERSION:Ljava/lang/String; = "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
10103 +.field private static final RETRY_QUERY_COUNT:I = 0x5
10105 +.field public static final SETTINGS_DIRECTORY:Ljava/lang/String; = "/data/system/privacy"
10107 +.field public static final SETTING_DB_VERSION:Ljava/lang/String; = "db_version"
10109 +.field public static final SETTING_ENABLED:Ljava/lang/String; = "enabled"
10111 +.field public static final SETTING_NOTIFICATIONS_ENABLED:Ljava/lang/String; = "notifications_enabled"
10113 +.field private static final TABLE_ALLOWED_CONTACTS:Ljava/lang/String; = "allowed_contacts"
10115 +.field private static final TABLE_MAP:Ljava/lang/String; = "map"
10117 +.field private static final TABLE_SETTINGS:Ljava/lang/String; = "settings"
10119 +.field private static final TABLE_VERSION:Ljava/lang/String; = "version"
10121 +.field private static final TAG:Ljava/lang/String; = "PrivacyPersistenceAdapter"
10123 +.field public static final VALUE_FALSE:Ljava/lang/String; = "0"
10125 +.field public static final VALUE_TRUE:Ljava/lang/String; = "1"
10127 +.field public static readingThreads:Ljava/lang/Integer;
10130 +# instance fields
10131 +.field private context:Landroid/content/Context;
10133 +.field private db:Landroid/database/sqlite/SQLiteDatabase;
10136 +# direct methods
10137 +.method static constructor <clinit>()V
10138 + .registers 3
10140 + const/4 v2, 0x0
10142 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10144 + move-result-object v0
10146 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10148 + const/16 v0, 0x2f
10150 + new-array v0, v0, [Ljava/lang/String;
10152 + const-string v1, "_id"
10154 + aput-object v1, v0, v2
10156 + const/4 v1, 0x1
10158 + const-string/jumbo v2, "packageName"
10160 + aput-object v2, v0, v1
10162 + const/4 v1, 0x2
10164 + const-string/jumbo v2, "uid"
10166 + aput-object v2, v0, v1
10168 + const/4 v1, 0x3
10170 + const-string v2, "deviceIdSetting"
10172 + aput-object v2, v0, v1
10174 + const/4 v1, 0x4
10176 + const-string v2, "deviceId"
10178 + aput-object v2, v0, v1
10180 + const/4 v1, 0x5
10182 + const-string v2, "line1NumberSetting"
10184 + aput-object v2, v0, v1
10186 + const/4 v1, 0x6
10188 + const-string v2, "line1Number"
10190 + aput-object v2, v0, v1
10192 + const/4 v1, 0x7
10194 + const-string v2, "locationGpsSetting"
10196 + aput-object v2, v0, v1
10198 + const/16 v1, 0x8
10200 + const-string v2, "locationGpsLat"
10202 + aput-object v2, v0, v1
10204 + const/16 v1, 0x9
10206 + const-string v2, "locationGpsLon"
10208 + aput-object v2, v0, v1
10210 + const/16 v1, 0xa
10212 + const-string v2, "locationNetworkSetting"
10214 + aput-object v2, v0, v1
10216 + const/16 v1, 0xb
10218 + const-string v2, "locationNetworkLat"
10220 + aput-object v2, v0, v1
10222 + const/16 v1, 0xc
10224 + const-string v2, "locationNetworkLon"
10226 + aput-object v2, v0, v1
10228 + const/16 v1, 0xd
10230 + const-string/jumbo v2, "networkInfoSetting"
10232 + aput-object v2, v0, v1
10234 + const/16 v1, 0xe
10236 + const-string/jumbo v2, "simInfoSetting"
10238 + aput-object v2, v0, v1
10240 + const/16 v1, 0xf
10242 + const-string/jumbo v2, "simSerialNumberSetting"
10244 + aput-object v2, v0, v1
10246 + const/16 v1, 0x10
10248 + const-string/jumbo v2, "simSerialNumber"
10250 + aput-object v2, v0, v1
10252 + const/16 v1, 0x11
10254 + const-string/jumbo v2, "subscriberIdSetting"
10256 + aput-object v2, v0, v1
10258 + const/16 v1, 0x12
10260 + const-string/jumbo v2, "subscriberId"
10262 + aput-object v2, v0, v1
10264 + const/16 v1, 0x13
10266 + const-string v2, "accountsSetting"
10268 + aput-object v2, v0, v1
10270 + const/16 v1, 0x14
10272 + const-string v2, "accountsAuthTokensSetting"
10274 + aput-object v2, v0, v1
10276 + const/16 v1, 0x15
10278 + const-string/jumbo v2, "outgoingCallsSetting"
10280 + aput-object v2, v0, v1
10282 + const/16 v1, 0x16
10284 + const-string v2, "incomingCallsSetting"
10286 + aput-object v2, v0, v1
10288 + const/16 v1, 0x17
10290 + const-string v2, "contactsSetting"
10292 + aput-object v2, v0, v1
10294 + const/16 v1, 0x18
10296 + const-string v2, "calendarSetting"
10298 + aput-object v2, v0, v1
10300 + const/16 v1, 0x19
10302 + const-string/jumbo v2, "mmsSetting"
10304 + aput-object v2, v0, v1
10306 + const/16 v1, 0x1a
10308 + const-string/jumbo v2, "smsSetting"
10310 + aput-object v2, v0, v1
10312 + const/16 v1, 0x1b
10314 + const-string v2, "callLogSetting"
10316 + aput-object v2, v0, v1
10318 + const/16 v1, 0x1c
10320 + const-string v2, "bookmarksSetting"
10322 + aput-object v2, v0, v1
10324 + const/16 v1, 0x1d
10326 + const-string/jumbo v2, "systemLogsSetting"
10328 + aput-object v2, v0, v1
10330 + const/16 v1, 0x1e
10332 + const-string v2, "externalStorageSetting"
10334 + aput-object v2, v0, v1
10336 + const/16 v1, 0x1f
10338 + const-string v2, "cameraSetting"
10340 + aput-object v2, v0, v1
10342 + const/16 v1, 0x20
10344 + const-string/jumbo v2, "recordAudioSetting"
10346 + aput-object v2, v0, v1
10348 + const/16 v1, 0x21
10350 + const-string/jumbo v2, "notificationSetting"
10352 + aput-object v2, v0, v1
10354 + const/16 v1, 0x22
10356 + const-string v2, "intentBootCompletedSetting"
10358 + aput-object v2, v0, v1
10360 + const/16 v1, 0x23
10362 + const-string/jumbo v2, "smsSendSetting"
10364 + aput-object v2, v0, v1
10366 + const/16 v1, 0x24
10368 + const-string/jumbo v2, "phoneCallSetting"
10370 + aput-object v2, v0, v1
10372 + const/16 v1, 0x25
10374 + const-string v2, "ipTableProtectSetting"
10376 + aput-object v2, v0, v1
10378 + const/16 v1, 0x26
10380 + const-string v2, "iccAccessSetting"
10382 + aput-object v2, v0, v1
10384 + const/16 v1, 0x27
10386 + const-string v2, "addOnManagementSetting"
10388 + aput-object v2, v0, v1
10390 + const/16 v1, 0x28
10392 + const-string v2, "androidIdSetting"
10394 + aput-object v2, v0, v1
10396 + const/16 v1, 0x29
10398 + const-string v2, "androidId"
10400 + aput-object v2, v0, v1
10402 + const/16 v1, 0x2a
10404 + const-string/jumbo v2, "wifiInfoSetting"
10406 + aput-object v2, v0, v1
10408 + const/16 v1, 0x2b
10410 + const-string/jumbo v2, "switchConnectivitySetting"
10412 + aput-object v2, v0, v1
10414 + const/16 v1, 0x2c
10416 + const-string/jumbo v2, "sendMmsSetting"
10418 + aput-object v2, v0, v1
10420 + const/16 v1, 0x2d
10422 + const-string v2, "forceOnlineState"
10424 + aput-object v2, v0, v1
10426 + const/16 v1, 0x2e
10428 + const-string/jumbo v2, "switchWifiStateSetting"
10430 + aput-object v2, v0, v1
10432 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
10434 + return-void
10435 +.end method
10437 +.method public constructor <init>(Landroid/content/Context;)V
10438 + .registers 6
10440 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
10442 + iput-object p1, p0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
10444 + new-instance v2, Ljava/io/File;
10446 + const-string v3, "/data/system/"
10448 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10450 + invoke-virtual {v2}, Ljava/io/File;->canWrite()Z
10452 + move-result v0
10454 + if-eqz v0, :cond_3c
10456 + new-instance v2, Ljava/io/File;
10458 + const-string v3, "/data/system/privacy.db"
10460 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10462 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
10464 + move-result v2
10466 + if-nez v2, :cond_22
10468 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
10470 + :cond_22
10471 + new-instance v2, Ljava/io/File;
10473 + const-string v3, "/data/system/privacy"
10475 + invoke-direct {v2, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10477 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
10479 + move-result v2
10481 + if-nez v2, :cond_32
10483 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createSettingsDir()V
10485 + :cond_32
10486 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getDbVersion()I
10488 + move-result v1
10490 + const/4 v2, 0x4
10492 + if-ge v1, v2, :cond_3c
10494 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->upgradeDatabase(I)V
10496 + :cond_3c
10497 + return-void
10498 +.end method
10500 +.method private declared-synchronized createDatabase()V
10501 + .registers 6
10503 + monitor-enter p0
10505 + :try_start_1
10506 + const-string v2, "PrivacyPersistenceAdapter"
10508 + const-string v3, "createDatabase - creating privacy database file"
10510 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10511 + :try_end_8
10512 + .catchall {:try_start_1 .. :try_end_8} :catchall_4c
10514 + :try_start_8
10515 + const-string v2, "/data/system/privacy.db"
10517 + const/4 v3, 0x0
10519 + const/high16 v4, 0x1000
10521 + invoke-static {v2, v3, v4}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
10523 + move-result-object v0
10525 + const-string v2, "PrivacyPersistenceAdapter"
10527 + const-string v3, "createDatabase - creating privacy database"
10529 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
10531 + 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);"
10533 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
10535 + const-string v2, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
10537 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
10539 + const-string v2, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
10541 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
10543 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
10545 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
10547 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
10549 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
10551 + const-string v2, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
10553 + invoke-virtual {v0, v2}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
10555 + if-eqz v0, :cond_41
10557 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
10559 + move-result v2
10561 + if-eqz v2, :cond_41
10563 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
10564 + :try_end_41
10565 + .catchall {:try_start_8 .. :try_end_41} :catchall_4c
10566 + .catch Landroid/database/SQLException; {:try_start_8 .. :try_end_41} :catch_43
10568 + :cond_41
10569 + :goto_41
10570 + monitor-exit p0
10572 + return-void
10574 + :catch_43
10575 + move-exception v1
10577 + :try_start_44
10578 + const-string v2, "PrivacyPersistenceAdapter"
10580 + const-string v3, "createDatabase - failed to create privacy database"
10582 + invoke-static {v2, v3, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
10583 + :try_end_4b
10584 + .catchall {:try_start_44 .. :try_end_4b} :catchall_4c
10586 + goto :goto_41
10588 + :catchall_4c
10589 + move-exception v2
10591 + monitor-exit p0
10593 + throw v2
10594 +.end method
10596 +.method private declared-synchronized createSettingsDir()V
10597 + .registers 4
10599 + monitor-enter p0
10601 + :try_start_1
10602 + new-instance v0, Ljava/io/File;
10604 + const-string v1, "/data/system/privacy/"
10606 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10608 + invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
10610 + const/4 v1, 0x1
10612 + const/4 v2, 0x0
10614 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setReadable(ZZ)Z
10616 + const/4 v1, 0x1
10618 + const/4 v2, 0x0
10620 + invoke-virtual {v0, v1, v2}, Ljava/io/File;->setExecutable(ZZ)Z
10621 + :try_end_15
10622 + .catchall {:try_start_1 .. :try_end_15} :catchall_17
10624 + monitor-exit p0
10626 + return-void
10628 + :catchall_17
10629 + move-exception v1
10631 + monitor-exit p0
10633 + throw v1
10634 +.end method
10636 +.method private deleteRecursive(Ljava/io/File;)V
10637 + .registers 7
10639 + invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
10641 + move-result v4
10643 + if-eqz v4, :cond_16
10645 + invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;
10647 + move-result-object v0
10649 + array-length v3, v0
10651 + const/4 v2, 0x0
10653 + :goto_c
10654 + if-ge v2, v3, :cond_16
10656 + aget-object v1, v0, v2
10658 + invoke-direct {p0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
10660 + add-int/lit8 v2, v2, 0x1
10662 + goto :goto_c
10664 + :cond_16
10665 + invoke-virtual {p1}, Ljava/io/File;->delete()Z
10667 + return-void
10668 +.end method
10670 +.method private getDbVersion()I
10671 + .registers 9
10673 + const/4 v4, 0x1
10675 + const/4 v3, -0x1
10677 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10679 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10681 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
10683 + move-result v6
10685 + add-int/lit8 v6, v6, 0x1
10687 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10689 + move-result-object v6
10691 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10693 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
10695 + move-result-object v1
10697 + :try_start_16
10698 + const-string v6, "SELECT name FROM sqlite_master WHERE type=\'table\' AND name=\'map\';"
10700 + invoke-direct {p0, v1, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
10702 + move-result-object v0
10704 + if-eqz v0, :cond_5e
10706 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
10708 + move-result v6
10710 + if-nez v6, :cond_25
10712 + const/4 v3, 0x1
10714 + :cond_25
10715 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
10717 + sget-object v7, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10719 + monitor-enter v7
10720 + :try_end_2b
10721 + .catch Ljava/lang/Exception; {:try_start_16 .. :try_end_2b} :catch_55
10723 + :try_start_2b
10724 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10726 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10728 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
10730 + move-result v6
10732 + add-int/lit8 v6, v6, -0x1
10734 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
10736 + move-result-object v6
10738 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10740 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
10742 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
10744 + move-result v6
10746 + if-nez v6, :cond_4e
10748 + if-eqz v1, :cond_4e
10750 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
10752 + move-result v6
10754 + if-eqz v6, :cond_4e
10756 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
10758 + :cond_4e
10759 + monitor-exit v7
10761 + :goto_4f
10762 + if-ne v3, v4, :cond_66
10764 + :goto_51
10765 + return v3
10767 + :catchall_52
10768 + move-exception v6
10770 + monitor-exit v7
10771 + :try_end_54
10772 + .catchall {:try_start_2b .. :try_end_54} :catchall_52
10774 + :try_start_54
10775 + throw v6
10776 + :try_end_55
10777 + .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_55} :catch_55
10779 + :catch_55
10780 + move-exception v2
10782 + const-string v6, "PrivacyPersistenceAdapter"
10784 + const-string v7, "getDbVersion - failed to check if table map exists (exception)"
10786 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10788 + goto :goto_4f
10790 + :cond_5e
10791 + :try_start_5e
10792 + const-string v6, "PrivacyPersistenceAdapter"
10794 + const-string v7, "getDbVersion - failed to check if table map exists (cursor is null)"
10796 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10797 + :try_end_65
10798 + .catch Ljava/lang/Exception; {:try_start_5e .. :try_end_65} :catch_55
10800 + goto :goto_4f
10802 + :cond_66
10803 + const-string v6, "db_version"
10805 + invoke-virtual {p0, v6}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
10807 + move-result-object v5
10809 + if-nez v5, :cond_70
10811 + move v3, v4
10813 + goto :goto_51
10815 + :cond_70
10816 + :try_start_70
10817 + invoke-static {v5}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
10818 + :try_end_73
10819 + .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_76
10821 + move-result v4
10823 + move v3, v4
10825 + goto :goto_51
10827 + :catch_76
10828 + move-exception v2
10830 + const-string v6, "PrivacyPersistenceAdapter"
10832 + const-string v7, "getDbVersion - failed to parse database version; returning 1"
10834 + invoke-static {v6, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
10836 + move v3, v4
10838 + goto :goto_51
10839 +.end method
10841 +.method private declared-synchronized getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
10842 + .registers 4
10844 + monitor-enter p0
10846 + :try_start_1
10847 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10849 + if-eqz v0, :cond_11
10851 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10853 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
10855 + move-result v0
10857 + if-eqz v0, :cond_11
10859 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10860 + :try_end_f
10861 + .catchall {:try_start_1 .. :try_end_f} :catchall_1e
10863 + :goto_f
10864 + monitor-exit p0
10866 + return-object v0
10868 + :cond_11
10869 + :try_start_11
10870 + const-string v0, "/data/system/privacy.db"
10872 + const/4 v1, 0x0
10874 + const/4 v2, 0x1
10876 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
10878 + move-result-object v0
10880 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10882 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10883 + :try_end_1d
10884 + .catchall {:try_start_11 .. :try_end_1d} :catchall_1e
10886 + goto :goto_f
10888 + :catchall_1e
10889 + move-exception v0
10891 + monitor-exit p0
10893 + throw v0
10894 +.end method
10896 +.method private declared-synchronized getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
10897 + .registers 4
10899 + monitor-enter p0
10901 + :try_start_1
10902 + new-instance v0, Ljava/io/File;
10904 + const-string v1, "/data/system/privacy.db"
10906 + invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
10908 + invoke-virtual {v0}, Ljava/io/File;->exists()Z
10910 + move-result v0
10912 + if-nez v0, :cond_11
10914 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->createDatabase()V
10916 + :cond_11
10917 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10919 + if-eqz v0, :cond_29
10921 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10923 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
10925 + move-result v0
10927 + if-eqz v0, :cond_29
10929 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10931 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
10933 + move-result v0
10935 + if-nez v0, :cond_29
10937 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10938 + :try_end_27
10939 + .catchall {:try_start_1 .. :try_end_27} :catchall_36
10941 + :goto_27
10942 + monitor-exit p0
10944 + return-object v0
10946 + :cond_29
10947 + :try_start_29
10948 + const-string v0, "/data/system/privacy.db"
10950 + const/4 v1, 0x0
10952 + const/4 v2, 0x0
10954 + invoke-static {v0, v1, v2}, Landroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)Landroid/database/sqlite/SQLiteDatabase;
10956 + move-result-object v0
10958 + iput-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10960 + iget-object v0, p0, Landroid/privacy/PrivacyPersistenceAdapter;->db:Landroid/database/sqlite/SQLiteDatabase;
10961 + :try_end_35
10962 + .catchall {:try_start_29 .. :try_end_35} :catchall_36
10964 + goto :goto_27
10966 + :catchall_36
10967 + move-exception v0
10969 + monitor-exit p0
10971 + throw v0
10972 +.end method
10974 +.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;
10975 + .registers 16
10976 + .annotation system Ldalvik/annotation/Throws;
10977 + value = {
10978 + Ljava/lang/Exception;
10980 + .end annotation
10982 + const/4 v0, 0x0
10984 + const/4 v3, 0x0
10986 + const/4 v2, 0x0
10988 + :goto_3
10989 + if-nez v3, :cond_27
10991 + const/4 v4, 0x5
10993 + if-ge v2, v4, :cond_27
10995 + if-eqz v0, :cond_d
10997 + :try_start_a
10998 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
11000 + :cond_d
11001 + 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;
11002 + :try_end_10
11003 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_10} :catch_15
11005 + move-result-object v0
11007 + const/4 v3, 0x1
11009 + :goto_12
11010 + add-int/lit8 v2, v2, 0x1
11012 + goto :goto_3
11014 + :catch_15
11015 + move-exception v1
11017 + const/4 v3, 0x0
11019 + if-eqz p1, :cond_22
11021 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11023 + move-result v4
11025 + if-eqz v4, :cond_22
11027 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11029 + :cond_22
11030 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
11032 + move-result-object p1
11034 + goto :goto_12
11036 + :cond_27
11037 + if-nez v3, :cond_32
11039 + new-instance v4, Ljava/lang/Exception;
11041 + const-string/jumbo v5, "query - failed to execute query on the DB"
11043 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
11045 + throw v4
11047 + :cond_32
11048 + return-object v0
11049 +.end method
11051 +.method private rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
11052 + .registers 9
11053 + .annotation system Ldalvik/annotation/Throws;
11054 + value = {
11055 + Ljava/lang/Exception;
11057 + .end annotation
11059 + const/4 v0, 0x0
11061 + const/4 v3, 0x0
11063 + const/4 v2, 0x0
11065 + :goto_3
11066 + if-nez v3, :cond_28
11068 + const/4 v4, 0x5
11070 + if-ge v2, v4, :cond_28
11072 + if-eqz v0, :cond_d
11074 + :try_start_a
11075 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
11077 + :cond_d
11078 + const/4 v4, 0x0
11080 + invoke-virtual {p1, p2, v4}, Landroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
11081 + :try_end_11
11082 + .catch Ljava/lang/IllegalStateException; {:try_start_a .. :try_end_11} :catch_16
11084 + move-result-object v0
11086 + const/4 v3, 0x1
11088 + :goto_13
11089 + add-int/lit8 v2, v2, 0x1
11091 + goto :goto_3
11093 + :catch_16
11094 + move-exception v1
11096 + const/4 v3, 0x0
11098 + if-eqz p1, :cond_23
11100 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11102 + move-result v4
11104 + if-eqz v4, :cond_23
11106 + invoke-virtual {p1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11108 + :cond_23
11109 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
11111 + move-result-object p1
11113 + goto :goto_13
11115 + :cond_28
11116 + if-nez v3, :cond_33
11118 + new-instance v4, Ljava/lang/Exception;
11120 + const-string/jumbo v5, "query - failed to execute query on the DB"
11122 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
11124 + throw v4
11126 + :cond_33
11127 + return-object v0
11128 +.end method
11130 +.method private declared-synchronized upgradeDatabase(I)V
11131 + .registers 23
11133 + monitor-enter p0
11135 + :try_start_1
11136 + const-string v17, "PrivacyPersistenceAdapter"
11138 + new-instance v18, Ljava/lang/StringBuilder;
11140 + invoke-direct/range {v18 .. v18}, Ljava/lang/StringBuilder;-><init>()V
11142 + const-string/jumbo v19, "upgradeDatabase - upgrading DB from version "
11144 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11146 + move-result-object v18
11148 + move-object/from16 v0, v18
11150 + move/from16 v1, p1
11152 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11154 + move-result-object v18
11156 + const-string v19, " to "
11158 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11160 + move-result-object v18
11162 + const/16 v19, 0x4
11164 + invoke-virtual/range {v18 .. v19}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11166 + move-result-object v18
11168 + invoke-virtual/range {v18 .. v18}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11170 + move-result-object v18
11172 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
11174 + new-instance v6, Ljava/io/File;
11176 + const-string v17, "/data/system/privacy.db"
11178 + move-object/from16 v0, v17
11180 + invoke-direct {v6, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11182 + new-instance v5, Ljava/io/File;
11184 + const-string v17, "/data/system/privacy.db.bak"
11186 + move-object/from16 v0, v17
11188 + invoke-direct {v5, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11189 + :try_end_3c
11190 + .catchall {:try_start_1 .. :try_end_3c} :catchall_66
11192 + :try_start_3c
11193 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
11194 + :try_end_3f
11195 + .catchall {:try_start_3c .. :try_end_3f} :catchall_66
11196 + .catch Ljava/lang/SecurityException; {:try_start_3c .. :try_end_3f} :catch_5c
11198 + :goto_3f
11199 + :try_start_3f
11200 + invoke-static {v6, v5}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
11202 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
11204 + move-result-wide v17
11206 + invoke-virtual {v5}, Ljava/io/File;->lastModified()J
11208 + move-result-wide v19
11210 + sub-long v17, v17, v19
11212 + const-wide/16 v19, 0x7d0
11214 + cmp-long v17, v17, v19
11216 + if-lez v17, :cond_69
11218 + const-string v17, "PrivacyPersistenceAdapter"
11220 + const-string/jumbo v18, "upgradeDatabase - could not create a database backup, aborting..."
11222 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
11223 + :try_end_5a
11224 + .catchall {:try_start_3f .. :try_end_5a} :catchall_66
11226 + :goto_5a
11227 + monitor-exit p0
11229 + return-void
11231 + :catch_5c
11232 + move-exception v7
11234 + :try_start_5d
11235 + const-string v17, "PrivacyPersistenceAdapter"
11237 + const-string/jumbo v18, "upgradeDatabase - could not remove old backup"
11239 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
11240 + :try_end_65
11241 + .catchall {:try_start_5d .. :try_end_65} :catchall_66
11243 + goto :goto_3f
11245 + :catchall_66
11246 + move-exception v17
11248 + monitor-exit p0
11250 + throw v17
11252 + :cond_69
11253 + :try_start_69
11254 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
11256 + move-result-object v4
11258 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
11260 + packed-switch p1, :pswitch_data_164
11262 + :cond_73
11263 + :goto_73
11264 + if-eqz v4, :cond_159
11266 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11268 + move-result v17
11270 + if-eqz v17, :cond_159
11272 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
11274 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11276 + :goto_81
11277 + invoke-virtual/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
11278 + :try_end_84
11279 + .catchall {:try_start_69 .. :try_end_84} :catchall_66
11281 + goto :goto_5a
11283 + :pswitch_85
11284 + if-eqz v4, :cond_73
11286 + :try_start_87
11287 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11289 + move-result v17
11291 + if-eqz v17, :cond_73
11293 + const-string v17, "DROP TABLE IF EXISTS version;"
11295 + move-object/from16 v0, v17
11297 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
11299 + const-string v17, "CREATE TABLE IF NOT EXISTS allowed_contacts ( settings_id, contact_id, PRIMARY KEY(settings_id, contact_id) );"
11301 + move-object/from16 v0, v17
11303 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
11305 + const-string v17, "CREATE TABLE IF NOT EXISTS map ( name TEXT PRIMARY KEY, value TEXT );"
11307 + move-object/from16 v0, v17
11309 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
11311 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"db_version\", 4);"
11313 + move-object/from16 v0, v17
11315 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
11317 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"enabled\", \"1\");"
11319 + move-object/from16 v0, v17
11321 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
11323 + const-string v17, "INSERT OR REPLACE INTO map (name, value) VALUES (\"notifications_enabled\", \"1\");"
11325 + move-object/from16 v0, v17
11327 + invoke-virtual {v4, v0}, Landroid/database/sqlite/SQLiteDatabase;->execSQL(Ljava/lang/String;)V
11329 + new-instance v14, Ljava/io/File;
11331 + const-string v17, "/data/system/privacy"
11333 + move-object/from16 v0, v17
11335 + invoke-direct {v14, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11337 + invoke-virtual {v14}, Ljava/io/File;->listFiles()[Ljava/io/File;
11339 + move-result-object v2
11341 + array-length v10, v2
11343 + const/4 v8, 0x0
11345 + move v9, v8
11347 + :goto_c7
11348 + if-ge v9, v10, :cond_127
11350 + aget-object v13, v2, v9
11352 + invoke-virtual {v13}, Ljava/io/File;->listFiles()[Ljava/io/File;
11354 + move-result-object v3
11356 + array-length v11, v3
11358 + const/4 v8, 0x0
11360 + :goto_d1
11361 + if-ge v8, v11, :cond_123
11363 + aget-object v16, v3, v8
11365 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->isDirectory()Z
11367 + move-result v17
11369 + if-eqz v17, :cond_120
11371 + invoke-virtual/range {v16 .. v16}, Ljava/io/File;->listFiles()[Ljava/io/File;
11373 + move-result-object v15
11375 + const/16 v17, 0x0
11377 + aget-object v17, v15, v17
11379 + if-eqz v17, :cond_120
11381 + new-instance v12, Ljava/io/File;
11383 + new-instance v17, Ljava/lang/StringBuilder;
11385 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
11387 + move-object/from16 v0, v17
11389 + invoke-virtual {v0, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
11391 + move-result-object v17
11393 + const-string v18, "/"
11395 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11397 + move-result-object v17
11399 + const/16 v18, 0x0
11401 + aget-object v18, v15, v18
11403 + invoke-virtual/range {v18 .. v18}, Ljava/io/File;->getName()Ljava/lang/String;
11405 + move-result-object v18
11407 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11409 + move-result-object v17
11411 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11413 + move-result-object v17
11415 + move-object/from16 v0, v17
11417 + invoke-direct {v12, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11419 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
11421 + const/16 v17, 0x0
11423 + aget-object v17, v15, v17
11425 + move-object/from16 v0, v17
11427 + invoke-virtual {v0, v12}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
11429 + move-object/from16 v0, p0
11431 + move-object/from16 v1, v16
11433 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
11435 + :cond_120
11436 + add-int/lit8 v8, v8, 0x1
11438 + goto :goto_d1
11440 + :cond_123
11441 + add-int/lit8 v8, v9, 0x1
11443 + move v9, v8
11445 + goto :goto_c7
11447 + :cond_127
11448 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
11449 + :try_end_12a
11450 + .catchall {:try_start_87 .. :try_end_12a} :catchall_66
11451 + .catch Ljava/lang/Exception; {:try_start_87 .. :try_end_12a} :catch_12c
11453 + goto/16 :goto_73
11455 + :catch_12c
11456 + move-exception v7
11458 + if-eqz v4, :cond_13b
11460 + :try_start_12f
11461 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11463 + move-result v17
11465 + if-eqz v17, :cond_13b
11467 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
11469 + invoke-virtual {v4}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11471 + :cond_13b
11472 + const-string v17, "PrivacyPersistenceAdapter"
11474 + const-string/jumbo v18, "upgradeDatabase - could not upgrade DB; will restore backup"
11476 + move-object/from16 v0, v17
11478 + move-object/from16 v1, v18
11480 + invoke-static {v0, v1, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11482 + invoke-static {v5, v6}, Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
11484 + invoke-virtual {v5}, Ljava/io/File;->delete()Z
11486 + goto/16 :goto_73
11488 + :pswitch_14f
11489 + const-string v17, "PrivacyPersistenceAdapter"
11491 + const-string/jumbo v18, "upgradeDatabase - trying to upgrade most current DB version"
11493 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
11495 + goto/16 :goto_73
11497 + :cond_159
11498 + const-string v17, "PrivacyPersistenceAdapter"
11500 + const-string/jumbo v18, "upgradeDatabase - database is null or closed; cant call endTransaction()"
11502 + invoke-static/range {v17 .. v18}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
11503 + :try_end_161
11504 + .catchall {:try_start_12f .. :try_end_161} :catchall_66
11506 + goto/16 :goto_81
11508 + nop
11510 + :pswitch_data_164
11511 + .packed-switch 0x1
11512 + :pswitch_85
11513 + :pswitch_85
11514 + :pswitch_85
11515 + :pswitch_14f
11516 + .end packed-switch
11517 +.end method
11519 +.method private writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
11520 + .registers 11
11521 + .annotation system Ldalvik/annotation/Throws;
11522 + value = {
11523 + Ljava/lang/Exception;
11525 + .end annotation
11527 + const/4 v6, 0x1
11529 + new-instance v1, Ljava/io/File;
11531 + new-instance v4, Ljava/lang/StringBuilder;
11533 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
11535 + const-string v5, "/data/system/privacy/"
11537 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11539 + move-result-object v4
11541 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11543 + move-result-object v4
11545 + const-string v5, "/"
11547 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11549 + move-result-object v4
11551 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11553 + move-result-object v4
11555 + invoke-direct {v1, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11557 + new-instance v2, Ljava/io/File;
11559 + new-instance v4, Ljava/lang/StringBuilder;
11561 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
11563 + const-string v5, "/data/system/privacy/"
11565 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11567 + move-result-object v4
11569 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11571 + move-result-object v4
11573 + const-string v5, "/"
11575 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11577 + move-result-object v4
11579 + const-string v5, "/"
11581 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11583 + move-result-object v4
11585 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11587 + move-result-object v4
11589 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11591 + move-result-object v4
11593 + invoke-direct {v2, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11595 + :try_start_47
11596 + invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
11598 + const/4 v4, 0x1
11600 + const/4 v5, 0x0
11602 + invoke-virtual {v1, v4, v5}, Ljava/io/File;->setReadable(ZZ)Z
11604 + const/4 v4, 0x1
11606 + const/4 v5, 0x0
11608 + invoke-virtual {v1, v4, v5}, Ljava/io/File;->setExecutable(ZZ)Z
11610 + invoke-virtual {v2}, Ljava/io/File;->createNewFile()Z
11612 + const/4 v4, 0x1
11614 + const/4 v5, 0x0
11616 + invoke-virtual {v2, v4, v5}, Ljava/io/File;->setReadable(ZZ)Z
11618 + new-instance v3, Ljava/io/OutputStreamWriter;
11620 + new-instance v4, Ljava/io/FileOutputStream;
11622 + invoke-direct {v4, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
11624 + invoke-direct {v3, v4}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;)V
11626 + const-string/jumbo v4, "systemLogsSetting"
11628 + invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11630 + move-result v4
11632 + if-eqz v4, :cond_90
11634 + new-instance v4, Ljava/lang/StringBuilder;
11636 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
11638 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
11640 + move-result v5
11642 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11644 + move-result-object v4
11646 + const-string v5, ""
11648 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11650 + move-result-object v4
11652 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11654 + move-result-object v4
11656 + invoke-virtual {v3, v4}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
11658 + :cond_89
11659 + :goto_89
11660 + invoke-virtual {v3}, Ljava/io/OutputStreamWriter;->flush()V
11662 + invoke-virtual {v3}, Ljava/io/OutputStreamWriter;->close()V
11664 + return v6
11666 + :cond_90
11667 + const-string v4, "ipTableProtectSetting"
11669 + invoke-virtual {p1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
11671 + move-result v4
11673 + if-eqz v4, :cond_89
11675 + new-instance v4, Ljava/lang/StringBuilder;
11677 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
11679 + invoke-virtual {p3}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
11681 + move-result v5
11683 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
11685 + move-result-object v4
11687 + const-string v5, ""
11689 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11691 + move-result-object v4
11693 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11695 + move-result-object v4
11697 + invoke-virtual {v3, v4}, Ljava/io/OutputStreamWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
11698 + :try_end_b2
11699 + .catch Ljava/io/IOException; {:try_start_47 .. :try_end_b2} :catch_b3
11701 + goto :goto_89
11703 + :catch_b3
11704 + move-exception v0
11706 + new-instance v4, Ljava/lang/Exception;
11708 + const-string/jumbo v5, "saveSettings - could not write settings to file"
11710 + invoke-direct {v4, v5, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
11712 + throw v4
11713 +.end method
11716 +# virtual methods
11717 +.method public declared-synchronized deleteSettings(Ljava/lang/String;)Z
11718 + .registers 16
11720 + monitor-enter p0
11722 + const/4 v11, 0x1
11724 + :try_start_2
11725 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
11727 + move-result-object v0
11729 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
11730 + :try_end_9
11731 + .catchall {:try_start_2 .. :try_end_9} :catchall_107
11733 + :try_start_9
11734 + const-string/jumbo v1, "settings"
11736 + const/4 v2, 0x1
11738 + new-array v2, v2, [Ljava/lang/String;
11740 + const/4 v3, 0x0
11742 + const-string v4, "_id"
11744 + aput-object v4, v2, v3
11746 + const-string/jumbo v3, "packageName=?"
11748 + const/4 v4, 0x1
11750 + new-array v4, v4, [Ljava/lang/String;
11752 + const/4 v5, 0x0
11754 + aput-object p1, v4, v5
11756 + const/4 v5, 0x0
11758 + const/4 v6, 0x0
11760 + const/4 v7, 0x0
11762 + 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;
11764 + move-result-object v8
11766 + if-eqz v8, :cond_4c
11768 + invoke-interface {v8}, Landroid/database/Cursor;->getCount()I
11770 + move-result v1
11772 + if-lez v1, :cond_4c
11774 + invoke-interface {v8}, Landroid/database/Cursor;->moveToFirst()Z
11776 + move-result v1
11778 + if-eqz v1, :cond_4c
11780 + const/4 v1, 0x0
11782 + invoke-interface {v8, v1}, Landroid/database/Cursor;->getInt(I)I
11784 + move-result v10
11786 + const-string v1, "allowed_contacts"
11788 + const-string/jumbo v2, "settings_id=?"
11790 + const/4 v3, 0x1
11792 + new-array v3, v3, [Ljava/lang/String;
11794 + const/4 v4, 0x0
11796 + invoke-static {v10}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
11798 + move-result-object v5
11800 + aput-object v5, v3, v4
11802 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
11804 + invoke-interface {v8}, Landroid/database/Cursor;->close()V
11806 + :cond_4c
11807 + const-string/jumbo v1, "settings"
11809 + const-string/jumbo v2, "packageName=?"
11811 + const/4 v3, 0x1
11813 + new-array v3, v3, [Ljava/lang/String;
11815 + const/4 v4, 0x0
11817 + aput-object p1, v3, v4
11819 + invoke-virtual {v0, v1, v2, v3}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
11821 + move-result v1
11823 + if-nez v1, :cond_8d
11825 + const-string v1, "PrivacyPersistenceAdapter"
11827 + new-instance v2, Ljava/lang/StringBuilder;
11829 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
11831 + const-string v3, "deleteSettings - database entry for "
11833 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11835 + move-result-object v2
11837 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11839 + move-result-object v2
11841 + const-string v3, " not found"
11843 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11845 + move-result-object v2
11847 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11849 + move-result-object v2
11851 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
11852 + :try_end_7c
11853 + .catchall {:try_start_9 .. :try_end_7c} :catchall_10a
11854 + .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_7c} :catch_ef
11856 + const/4 v1, 0x0
11858 + :try_start_7d
11859 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
11861 + if-eqz v0, :cond_8b
11863 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11865 + move-result v2
11867 + if-eqz v2, :cond_8b
11869 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11870 + :try_end_8b
11871 + .catchall {:try_start_7d .. :try_end_8b} :catchall_107
11873 + :cond_8b
11874 + :goto_8b
11875 + monitor-exit p0
11877 + return v1
11879 + :cond_8d
11880 + :try_start_8d
11881 + new-instance v12, Ljava/io/File;
11883 + new-instance v1, Ljava/lang/StringBuilder;
11885 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
11887 + const-string v2, "/data/system/privacy/"
11889 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11891 + move-result-object v1
11893 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11895 + move-result-object v1
11897 + const-string v2, "/"
11899 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11901 + move-result-object v1
11903 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11905 + move-result-object v1
11907 + invoke-direct {v12, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11909 + new-instance v13, Ljava/io/File;
11911 + new-instance v1, Ljava/lang/StringBuilder;
11913 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
11915 + const-string v2, "/data/system/privacy/"
11917 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11919 + move-result-object v1
11921 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11923 + move-result-object v1
11925 + const-string v2, "/systemLogsSetting"
11927 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
11929 + move-result-object v1
11931 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
11933 + move-result-object v1
11935 + invoke-direct {v13, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
11937 + invoke-virtual {v13}, Ljava/io/File;->delete()Z
11939 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
11941 + move-result-object v1
11943 + if-eqz v1, :cond_d9
11945 + invoke-virtual {v12}, Ljava/io/File;->list()[Ljava/lang/String;
11947 + move-result-object v1
11949 + array-length v1, v1
11951 + if-nez v1, :cond_dc
11953 + :cond_d9
11954 + invoke-virtual {v12}, Ljava/io/File;->delete()Z
11956 + :cond_dc
11957 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
11958 + :try_end_df
11959 + .catchall {:try_start_8d .. :try_end_df} :catchall_10a
11960 + .catch Ljava/lang/Exception; {:try_start_8d .. :try_end_df} :catch_ef
11962 + :try_start_df
11963 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
11965 + if-eqz v0, :cond_ed
11967 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
11969 + move-result v1
11971 + if-eqz v1, :cond_ed
11973 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
11974 + :try_end_ed
11975 + .catchall {:try_start_df .. :try_end_ed} :catchall_107
11977 + :cond_ed
11978 + :goto_ed
11979 + move v1, v11
11981 + goto :goto_8b
11983 + :catch_ef
11984 + move-exception v9
11986 + const/4 v11, 0x0
11988 + :try_start_f1
11989 + const-string v1, "PrivacyPersistenceAdapter"
11991 + const-string v2, "deleteSettings - could not delete settings"
11993 + invoke-static {v1, v2, v9}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
11994 + :try_end_f8
11995 + .catchall {:try_start_f1 .. :try_end_f8} :catchall_10a
11997 + :try_start_f8
11998 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
12000 + if-eqz v0, :cond_ed
12002 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12004 + move-result v1
12006 + if-eqz v1, :cond_ed
12008 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12009 + :try_end_106
12010 + .catchall {:try_start_f8 .. :try_end_106} :catchall_107
12012 + goto :goto_ed
12014 + :catchall_107
12015 + move-exception v1
12017 + monitor-exit p0
12019 + throw v1
12021 + :catchall_10a
12022 + move-exception v1
12024 + :try_start_10b
12025 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
12027 + if-eqz v0, :cond_119
12029 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12031 + move-result v2
12033 + if-eqz v2, :cond_119
12035 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12037 + :cond_119
12038 + throw v1
12039 + :try_end_11a
12040 + .catchall {:try_start_10b .. :try_end_11a} :catchall_107
12041 +.end method
12043 +.method public declared-synchronized getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
12044 + .registers 59
12046 + monitor-enter p0
12048 + const/16 v55, 0x0
12050 + if-nez p1, :cond_10
12052 + :try_start_5
12053 + const-string v1, "PrivacyPersistenceAdapter"
12055 + const-string v4, "getSettings - insufficient application identifier - package name is required"
12057 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
12058 + :try_end_c
12059 + .catchall {:try_start_5 .. :try_end_c} :catchall_359
12061 + move-object/from16 v3, v55
12063 + :goto_e
12064 + monitor-exit p0
12066 + return-object v55
12068 + :cond_10
12069 + :try_start_10
12070 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12072 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12074 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
12076 + move-result v1
12078 + add-int/lit8 v1, v1, 0x1
12080 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12082 + move-result-object v1
12084 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12085 + :try_end_20
12086 + .catchall {:try_start_10 .. :try_end_20} :catchall_359
12088 + :try_start_20
12089 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
12090 + :try_end_23
12091 + .catchall {:try_start_20 .. :try_end_23} :catchall_359
12092 + .catch Landroid/database/sqlite/SQLiteException; {:try_start_20 .. :try_end_23} :catch_2c6
12094 + move-result-object v2
12096 + const/16 v53, 0x0
12098 + :try_start_26
12099 + const-string/jumbo v3, "settings"
12101 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->DATABASE_FIELDS:[Ljava/lang/String;
12103 + const-string/jumbo v5, "packageName=?"
12105 + const/4 v1, 0x1
12107 + new-array v6, v1, [Ljava/lang/String;
12109 + const/4 v1, 0x0
12111 + aput-object p1, v6, v1
12113 + const/4 v7, 0x0
12115 + const/4 v8, 0x0
12117 + const/4 v9, 0x0
12119 + const/4 v10, 0x0
12121 + move-object/from16 v1, p0
12123 + 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;
12125 + move-result-object v53
12127 + if-eqz v53, :cond_35d
12129 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToFirst()Z
12131 + move-result v1
12133 + if-eqz v1, :cond_35d
12135 + new-instance v3, Landroid/privacy/PrivacySettings;
12137 + const/4 v1, 0x0
12139 + move-object/from16 v0, v53
12141 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
12143 + move-result v1
12145 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12147 + move-result-object v4
12149 + const/4 v1, 0x1
12151 + move-object/from16 v0, v53
12153 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12155 + move-result-object v5
12157 + const/4 v1, 0x2
12159 + move-object/from16 v0, v53
12161 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getInt(I)I
12163 + move-result v6
12165 + const/4 v1, 0x3
12167 + move-object/from16 v0, v53
12169 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12171 + move-result v1
12173 + int-to-byte v7, v1
12175 + const/4 v1, 0x4
12177 + move-object/from16 v0, v53
12179 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12181 + move-result-object v8
12183 + const/4 v1, 0x5
12185 + move-object/from16 v0, v53
12187 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12189 + move-result v1
12191 + int-to-byte v9, v1
12193 + const/4 v1, 0x6
12195 + move-object/from16 v0, v53
12197 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12199 + move-result-object v10
12201 + const/4 v1, 0x7
12203 + move-object/from16 v0, v53
12205 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12207 + move-result v1
12209 + int-to-byte v11, v1
12211 + const/16 v1, 0x8
12213 + move-object/from16 v0, v53
12215 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12217 + move-result-object v12
12219 + const/16 v1, 0x9
12221 + move-object/from16 v0, v53
12223 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12225 + move-result-object v13
12227 + const/16 v1, 0xa
12229 + move-object/from16 v0, v53
12231 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12233 + move-result v1
12235 + int-to-byte v14, v1
12237 + const/16 v1, 0xb
12239 + move-object/from16 v0, v53
12241 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12243 + move-result-object v15
12245 + const/16 v1, 0xc
12247 + move-object/from16 v0, v53
12249 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12251 + move-result-object v16
12253 + const/16 v1, 0xd
12255 + move-object/from16 v0, v53
12257 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12259 + move-result v1
12261 + int-to-byte v0, v1
12263 + move/from16 v17, v0
12265 + const/16 v1, 0xe
12267 + move-object/from16 v0, v53
12269 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12271 + move-result v1
12273 + int-to-byte v0, v1
12275 + move/from16 v18, v0
12277 + const/16 v1, 0xf
12279 + move-object/from16 v0, v53
12281 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12283 + move-result v1
12285 + int-to-byte v0, v1
12287 + move/from16 v19, v0
12289 + const/16 v1, 0x10
12291 + move-object/from16 v0, v53
12293 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12295 + move-result-object v20
12297 + const/16 v1, 0x11
12299 + move-object/from16 v0, v53
12301 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12303 + move-result v1
12305 + int-to-byte v0, v1
12307 + move/from16 v21, v0
12309 + const/16 v1, 0x12
12311 + move-object/from16 v0, v53
12313 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12315 + move-result-object v22
12317 + const/16 v1, 0x13
12319 + move-object/from16 v0, v53
12321 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12323 + move-result v1
12325 + int-to-byte v0, v1
12327 + move/from16 v23, v0
12329 + const/16 v1, 0x14
12331 + move-object/from16 v0, v53
12333 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12335 + move-result v1
12337 + int-to-byte v0, v1
12339 + move/from16 v24, v0
12341 + const/16 v1, 0x15
12343 + move-object/from16 v0, v53
12345 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12347 + move-result v1
12349 + int-to-byte v0, v1
12351 + move/from16 v25, v0
12353 + const/16 v1, 0x16
12355 + move-object/from16 v0, v53
12357 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12359 + move-result v1
12361 + int-to-byte v0, v1
12363 + move/from16 v26, v0
12365 + const/16 v1, 0x17
12367 + move-object/from16 v0, v53
12369 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12371 + move-result v1
12373 + int-to-byte v0, v1
12375 + move/from16 v27, v0
12377 + const/16 v1, 0x18
12379 + move-object/from16 v0, v53
12381 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12383 + move-result v1
12385 + int-to-byte v0, v1
12387 + move/from16 v28, v0
12389 + const/16 v1, 0x19
12391 + move-object/from16 v0, v53
12393 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12395 + move-result v1
12397 + int-to-byte v0, v1
12399 + move/from16 v29, v0
12401 + const/16 v1, 0x1a
12403 + move-object/from16 v0, v53
12405 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12407 + move-result v1
12409 + int-to-byte v0, v1
12411 + move/from16 v30, v0
12413 + const/16 v1, 0x1b
12415 + move-object/from16 v0, v53
12417 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12419 + move-result v1
12421 + int-to-byte v0, v1
12423 + move/from16 v31, v0
12425 + const/16 v1, 0x1c
12427 + move-object/from16 v0, v53
12429 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12431 + move-result v1
12433 + int-to-byte v0, v1
12435 + move/from16 v32, v0
12437 + const/16 v1, 0x1d
12439 + move-object/from16 v0, v53
12441 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12443 + move-result v1
12445 + int-to-byte v0, v1
12447 + move/from16 v33, v0
12449 + const/16 v1, 0x1e
12451 + move-object/from16 v0, v53
12453 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12455 + move-result v1
12457 + int-to-byte v0, v1
12459 + move/from16 v34, v0
12461 + const/16 v1, 0x1f
12463 + move-object/from16 v0, v53
12465 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12467 + move-result v1
12469 + int-to-byte v0, v1
12471 + move/from16 v35, v0
12473 + const/16 v1, 0x20
12475 + move-object/from16 v0, v53
12477 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12479 + move-result v1
12481 + int-to-byte v0, v1
12483 + move/from16 v36, v0
12485 + const/16 v1, 0x21
12487 + move-object/from16 v0, v53
12489 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12491 + move-result v1
12493 + int-to-byte v0, v1
12495 + move/from16 v37, v0
12497 + const/16 v1, 0x22
12499 + move-object/from16 v0, v53
12501 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12503 + move-result v1
12505 + int-to-byte v0, v1
12507 + move/from16 v38, v0
12509 + const/16 v39, 0x0
12511 + const/16 v1, 0x23
12513 + move-object/from16 v0, v53
12515 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12517 + move-result v1
12519 + int-to-byte v0, v1
12521 + move/from16 v40, v0
12523 + const/16 v1, 0x24
12525 + move-object/from16 v0, v53
12527 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12529 + move-result v1
12531 + int-to-byte v0, v1
12533 + move/from16 v41, v0
12535 + const/16 v1, 0x25
12537 + move-object/from16 v0, v53
12539 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12541 + move-result v1
12543 + int-to-byte v0, v1
12545 + move/from16 v42, v0
12547 + const/16 v1, 0x26
12549 + move-object/from16 v0, v53
12551 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12553 + move-result v1
12555 + int-to-byte v0, v1
12557 + move/from16 v43, v0
12559 + const/16 v1, 0x27
12561 + move-object/from16 v0, v53
12563 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12565 + move-result v1
12567 + int-to-byte v0, v1
12569 + move/from16 v44, v0
12571 + const/16 v1, 0x28
12573 + move-object/from16 v0, v53
12575 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12577 + move-result v1
12579 + int-to-byte v0, v1
12581 + move/from16 v45, v0
12583 + const/16 v1, 0x29
12585 + move-object/from16 v0, v53
12587 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
12589 + move-result-object v46
12591 + const/16 v1, 0x2a
12593 + move-object/from16 v0, v53
12595 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12597 + move-result v1
12599 + int-to-byte v0, v1
12601 + move/from16 v47, v0
12603 + const/16 v1, 0x2b
12605 + move-object/from16 v0, v53
12607 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12609 + move-result v1
12611 + int-to-byte v0, v1
12613 + move/from16 v48, v0
12615 + const/16 v1, 0x2c
12617 + move-object/from16 v0, v53
12619 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12621 + move-result v1
12623 + int-to-byte v0, v1
12625 + move/from16 v49, v0
12627 + const/16 v1, 0x2d
12629 + move-object/from16 v0, v53
12631 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12633 + move-result v1
12635 + int-to-byte v0, v1
12637 + move/from16 v50, v0
12639 + const/16 v1, 0x2e
12641 + move-object/from16 v0, v53
12643 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getShort(I)S
12645 + move-result v1
12647 + int-to-byte v0, v1
12649 + move/from16 v51, v0
12651 + 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
12652 + :try_end_222
12653 + .catchall {:try_start_26 .. :try_end_222} :catchall_31c
12654 + .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_222} :catch_354
12656 + :try_start_222
12657 + new-instance v1, Ljava/lang/StringBuilder;
12659 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
12661 + const-string v4, "SELECT * FROM allowed_contacts WHERE settings_id="
12663 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12665 + move-result-object v1
12667 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
12669 + move-result-object v4
12671 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
12673 + move-result v4
12675 + invoke-static {v4}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
12677 + move-result-object v4
12679 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12681 + move-result-object v1
12683 + const-string v4, ";"
12685 + invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12687 + move-result-object v1
12689 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12691 + move-result-object v1
12693 + move-object/from16 v0, p0
12695 + invoke-direct {v0, v2, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->rawQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)Landroid/database/Cursor;
12697 + move-result-object v53
12699 + if-eqz v53, :cond_2e9
12701 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
12703 + move-result v1
12705 + if-lez v1, :cond_2e9
12707 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getCount()I
12709 + move-result v1
12711 + new-array v0, v1, [I
12713 + move-object/from16 v52, v0
12715 + :goto_25d
12716 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->moveToNext()Z
12718 + move-result v1
12720 + if-eqz v1, :cond_2e4
12722 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->getPosition()I
12724 + move-result v1
12726 + const/4 v4, 0x1
12728 + move-object/from16 v0, v53
12730 + invoke-interface {v0, v4}, Landroid/database/Cursor;->getInt(I)I
12732 + move-result v4
12734 + aput v4, v52, v1
12735 + :try_end_270
12736 + .catchall {:try_start_222 .. :try_end_270} :catchall_352
12737 + .catch Ljava/lang/Exception; {:try_start_222 .. :try_end_270} :catch_271
12739 + goto :goto_25d
12741 + :catch_271
12742 + move-exception v54
12744 + :goto_272
12745 + :try_start_272
12746 + const-string v1, "PrivacyPersistenceAdapter"
12748 + new-instance v4, Ljava/lang/StringBuilder;
12750 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
12752 + const-string v5, "getSettings - failed to get settings for package: "
12754 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12756 + move-result-object v4
12758 + move-object/from16 v0, p1
12760 + invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
12762 + move-result-object v4
12764 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
12766 + move-result-object v4
12768 + move-object/from16 v0, v54
12770 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12772 + invoke-virtual/range {v54 .. v54}, Ljava/lang/Exception;->printStackTrace()V
12774 + if-eqz v53, :cond_296
12776 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
12777 + :try_end_296
12778 + .catchall {:try_start_272 .. :try_end_296} :catchall_352
12780 + :cond_296
12781 + if-eqz v53, :cond_29b
12783 + :try_start_298
12784 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
12786 + :cond_29b
12787 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12789 + monitor-enter v4
12790 + :try_end_29e
12791 + .catchall {:try_start_298 .. :try_end_29e} :catchall_319
12793 + :try_start_29e
12794 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12796 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12798 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
12800 + move-result v1
12802 + add-int/lit8 v1, v1, -0x1
12804 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12806 + move-result-object v1
12808 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12810 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12812 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
12814 + move-result v1
12816 + if-nez v1, :cond_2c1
12818 + if-eqz v2, :cond_2c1
12820 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12822 + move-result v1
12824 + if-eqz v1, :cond_2c1
12826 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12828 + :cond_2c1
12829 + monitor-exit v4
12830 + :try_end_2c2
12831 + .catchall {:try_start_29e .. :try_end_2c2} :catchall_34f
12833 + :goto_2c2
12834 + move-object/from16 v55, v3
12836 + goto/16 :goto_e
12838 + :catch_2c6
12839 + move-exception v54
12841 + :try_start_2c7
12842 + const-string v1, "PrivacyPersistenceAdapter"
12844 + const-string v4, "getSettings - database could not be opened"
12846 + move-object/from16 v0, v54
12848 + invoke-static {v1, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
12850 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12852 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12854 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
12856 + move-result v1
12858 + add-int/lit8 v1, v1, -0x1
12860 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12862 + move-result-object v1
12864 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12865 + :try_end_2e0
12866 + .catchall {:try_start_2c7 .. :try_end_2e0} :catchall_359
12868 + move-object/from16 v3, v55
12870 + goto/16 :goto_e
12872 + :cond_2e4
12873 + :try_start_2e4
12874 + move-object/from16 v0, v52
12876 + invoke-virtual {v3, v0}, Landroid/privacy/PrivacySettings;->setAllowedContacts([I)V
12877 + :try_end_2e9
12878 + .catchall {:try_start_2e4 .. :try_end_2e9} :catchall_352
12879 + .catch Ljava/lang/Exception; {:try_start_2e4 .. :try_end_2e9} :catch_271
12881 + :cond_2e9
12882 + :goto_2e9
12883 + if-eqz v53, :cond_2ee
12885 + :try_start_2eb
12886 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
12888 + :cond_2ee
12889 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12891 + monitor-enter v4
12892 + :try_end_2f1
12893 + .catchall {:try_start_2eb .. :try_end_2f1} :catchall_319
12895 + :try_start_2f1
12896 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12898 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12900 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
12902 + move-result v1
12904 + add-int/lit8 v1, v1, -0x1
12906 + invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12908 + move-result-object v1
12910 + sput-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12912 + sget-object v1, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12914 + invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
12916 + move-result v1
12918 + if-nez v1, :cond_314
12920 + if-eqz v2, :cond_314
12922 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
12924 + move-result v1
12926 + if-eqz v1, :cond_314
12928 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
12930 + :cond_314
12931 + monitor-exit v4
12933 + goto :goto_2c2
12935 + :catchall_316
12936 + move-exception v1
12938 + monitor-exit v4
12939 + :try_end_318
12940 + .catchall {:try_start_2f1 .. :try_end_318} :catchall_316
12942 + :try_start_318
12943 + throw v1
12944 + :try_end_319
12945 + .catchall {:try_start_318 .. :try_end_319} :catchall_319
12947 + :catchall_319
12948 + move-exception v1
12950 + :goto_31a
12951 + monitor-exit p0
12953 + throw v1
12955 + :catchall_31c
12956 + move-exception v1
12958 + move-object/from16 v3, v55
12960 + :goto_31f
12961 + if-eqz v53, :cond_324
12963 + :try_start_321
12964 + invoke-interface/range {v53 .. v53}, Landroid/database/Cursor;->close()V
12966 + :cond_324
12967 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12969 + monitor-enter v4
12970 + :try_end_327
12971 + .catchall {:try_start_321 .. :try_end_327} :catchall_319
12973 + :try_start_327
12974 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12976 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12978 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
12980 + move-result v5
12982 + add-int/lit8 v5, v5, -0x1
12984 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
12986 + move-result-object v5
12988 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12990 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
12992 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
12994 + move-result v5
12996 + if-nez v5, :cond_34a
12998 + if-eqz v2, :cond_34a
13000 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13002 + move-result v5
13004 + if-eqz v5, :cond_34a
13006 + invoke-virtual {v2}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13008 + :cond_34a
13009 + monitor-exit v4
13010 + :try_end_34b
13011 + .catchall {:try_start_327 .. :try_end_34b} :catchall_34c
13013 + :try_start_34b
13014 + throw v1
13015 + :try_end_34c
13016 + .catchall {:try_start_34b .. :try_end_34c} :catchall_319
13018 + :catchall_34c
13019 + move-exception v1
13021 + :try_start_34d
13022 + monitor-exit v4
13023 + :try_end_34e
13024 + .catchall {:try_start_34d .. :try_end_34e} :catchall_34c
13026 + :try_start_34e
13027 + throw v1
13028 + :try_end_34f
13029 + .catchall {:try_start_34e .. :try_end_34f} :catchall_319
13031 + :catchall_34f
13032 + move-exception v1
13034 + :try_start_350
13035 + monitor-exit v4
13036 + :try_end_351
13037 + .catchall {:try_start_350 .. :try_end_351} :catchall_34f
13039 + :try_start_351
13040 + throw v1
13041 + :try_end_352
13042 + .catchall {:try_start_351 .. :try_end_352} :catchall_319
13044 + :catchall_352
13045 + move-exception v1
13047 + goto :goto_31f
13049 + :catch_354
13050 + move-exception v54
13052 + move-object/from16 v3, v55
13054 + goto/16 :goto_272
13056 + :catchall_359
13057 + move-exception v1
13059 + move-object/from16 v3, v55
13061 + goto :goto_31a
13063 + :cond_35d
13064 + move-object/from16 v3, v55
13066 + goto :goto_2e9
13067 +.end method
13069 +.method public getValue(Ljava/lang/String;)Ljava/lang/String;
13070 + .registers 15
13072 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13074 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13076 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
13078 + move-result v0
13080 + add-int/lit8 v0, v0, 0x1
13082 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13084 + move-result-object v0
13086 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13088 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
13090 + move-result-object v1
13092 + const/4 v12, 0x0
13094 + :try_start_15
13095 + const-string/jumbo v2, "map"
13097 + const/4 v0, 0x1
13099 + new-array v3, v0, [Ljava/lang/String;
13101 + const/4 v0, 0x0
13103 + const-string/jumbo v4, "value"
13105 + aput-object v4, v3, v0
13107 + const-string/jumbo v4, "name=?"
13109 + const/4 v0, 0x1
13111 + new-array v5, v0, [Ljava/lang/String;
13113 + const/4 v0, 0x0
13115 + aput-object p1, v5, v0
13117 + const/4 v6, 0x0
13119 + const/4 v7, 0x0
13121 + const/4 v8, 0x0
13123 + const/4 v9, 0x0
13125 + move-object v0, p0
13127 + 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;
13129 + move-result-object v10
13131 + if-eqz v10, :cond_77
13133 + invoke-interface {v10}, Landroid/database/Cursor;->getCount()I
13135 + move-result v0
13137 + if-lez v0, :cond_77
13139 + invoke-interface {v10}, Landroid/database/Cursor;->moveToFirst()Z
13141 + move-result v0
13143 + if-eqz v0, :cond_77
13145 + const-string/jumbo v0, "value"
13147 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
13149 + move-result v0
13151 + invoke-interface {v10, v0}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13153 + move-result-object v12
13155 + invoke-interface {v10}, Landroid/database/Cursor;->close()V
13156 + :try_end_4f
13157 + .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_4f} :catch_90
13159 + :goto_4f
13160 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13162 + monitor-enter v2
13164 + :try_start_52
13165 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13167 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13169 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
13171 + move-result v0
13173 + add-int/lit8 v0, v0, -0x1
13175 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13177 + move-result-object v0
13179 + sput-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13181 + sget-object v0, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13183 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
13185 + move-result v0
13187 + if-nez v0, :cond_75
13189 + if-eqz v1, :cond_75
13191 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13193 + move-result v0
13195 + if-eqz v0, :cond_75
13197 + invoke-virtual {v1}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13199 + :cond_75
13200 + monitor-exit v2
13201 + :try_end_76
13202 + .catchall {:try_start_52 .. :try_end_76} :catchall_aa
13204 + return-object v12
13206 + :cond_77
13207 + :try_start_77
13208 + const-string v0, "PrivacyPersistenceAdapter"
13210 + new-instance v2, Ljava/lang/StringBuilder;
13212 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13214 + const-string v3, "getValue - could not get value for name: "
13216 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13218 + move-result-object v2
13220 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13222 + move-result-object v2
13224 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13226 + move-result-object v2
13228 + invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
13229 + :try_end_8f
13230 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_8f} :catch_90
13232 + goto :goto_4f
13234 + :catch_90
13235 + move-exception v11
13237 + const-string v0, "PrivacyPersistenceAdapter"
13239 + new-instance v2, Ljava/lang/StringBuilder;
13241 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
13243 + const-string v3, "getValue - could not get value for name: "
13245 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13247 + move-result-object v2
13249 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
13251 + move-result-object v2
13253 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
13255 + move-result-object v2
13257 + invoke-static {v0, v2, v11}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13259 + goto :goto_4f
13261 + :catchall_aa
13262 + move-exception v0
13264 + :try_start_ab
13265 + monitor-exit v2
13266 + :try_end_ac
13267 + .catchall {:try_start_ab .. :try_end_ac} :catchall_aa
13269 + throw v0
13270 +.end method
13272 +.method public purgeSettings()Z
13273 + .registers 28
13275 + const/16 v25, 0x1
13277 + new-instance v13, Ljava/util/ArrayList;
13279 + invoke-direct {v13}, Ljava/util/ArrayList;-><init>()V
13281 + move-object/from16 v0, p0
13283 + iget-object v2, v0, Landroid/privacy/PrivacyPersistenceAdapter;->context:Landroid/content/Context;
13285 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
13287 + move-result-object v21
13289 + const/16 v2, 0x80
13291 + move-object/from16 v0, v21
13293 + invoke-virtual {v0, v2}, Landroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
13295 + move-result-object v19
13297 + invoke-interface/range {v19 .. v19}, Ljava/util/List;->iterator()Ljava/util/Iterator;
13299 + move-result-object v18
13301 + :goto_1b
13302 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
13304 + move-result v2
13306 + if-eqz v2, :cond_2d
13308 + invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
13310 + move-result-object v12
13312 + check-cast v12, Landroid/content/pm/ApplicationInfo;
13314 + iget-object v2, v12, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String;
13316 + invoke-interface {v13, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
13318 + goto :goto_1b
13320 + :cond_2d
13321 + new-instance v26, Ljava/io/File;
13323 + const-string v2, "/data/system/privacy"
13325 + move-object/from16 v0, v26
13327 + invoke-direct {v0, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
13329 + invoke-virtual/range {v26 .. v26}, Ljava/io/File;->listFiles()[Ljava/io/File;
13331 + move-result-object v15
13333 + array-length v0, v15
13335 + move/from16 v20, v0
13337 + const/16 v18, 0x0
13339 + :goto_3f
13340 + move/from16 v0, v18
13342 + move/from16 v1, v20
13344 + if-ge v0, v1, :cond_5d
13346 + aget-object v23, v15, v18
13348 + invoke-virtual/range {v23 .. v23}, Ljava/io/File;->getName()Ljava/lang/String;
13350 + move-result-object v24
13352 + move-object/from16 v0, v24
13354 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
13356 + move-result v2
13358 + if-nez v2, :cond_5a
13360 + move-object/from16 v0, p0
13362 + move-object/from16 v1, v23
13364 + invoke-direct {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteRecursive(Ljava/io/File;)V
13366 + :cond_5a
13367 + add-int/lit8 v18, v18, 0x1
13369 + goto :goto_3f
13371 + :cond_5d
13372 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13374 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13376 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
13378 + move-result v2
13380 + add-int/lit8 v2, v2, 0x1
13382 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13384 + move-result-object v2
13386 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13388 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
13390 + move-result-object v3
13392 + const/16 v16, 0x0
13394 + :try_start_73
13395 + const-string/jumbo v4, "settings"
13397 + const/4 v2, 0x1
13399 + new-array v5, v2, [Ljava/lang/String;
13401 + const/4 v2, 0x0
13403 + const-string/jumbo v6, "packageName"
13405 + aput-object v6, v5, v2
13407 + const/4 v6, 0x0
13409 + const/4 v7, 0x0
13411 + const/4 v8, 0x0
13413 + const/4 v9, 0x0
13415 + const/4 v10, 0x0
13417 + const/4 v11, 0x0
13419 + move-object/from16 v2, p0
13421 + 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;
13423 + move-result-object v16
13425 + new-instance v14, Ljava/util/ArrayList;
13427 + invoke-direct {v14}, Ljava/util/ArrayList;-><init>()V
13429 + :goto_90
13430 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->moveToNext()Z
13432 + move-result v2
13434 + if-eqz v2, :cond_142
13436 + const/4 v2, 0x0
13438 + move-object/from16 v0, v16
13440 + invoke-interface {v0, v2}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
13442 + move-result-object v24
13444 + move-object/from16 v0, v24
13446 + invoke-interface {v13, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
13448 + move-result v2
13450 + if-nez v2, :cond_e7
13452 + move-object/from16 v0, p0
13454 + move-object/from16 v1, v24
13456 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
13457 + :try_end_ac
13458 + .catchall {:try_start_73 .. :try_end_ac} :catchall_107
13459 + .catch Ljava/lang/Exception; {:try_start_73 .. :try_end_ac} :catch_ad
13461 + goto :goto_90
13463 + :catch_ad
13464 + move-exception v17
13466 + :try_start_ae
13467 + const-string v2, "PrivacyPersistenceAdapter"
13469 + const-string/jumbo v4, "purgeSettings - purging DB failed"
13471 + move-object/from16 v0, v17
13473 + invoke-static {v2, v4, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
13474 + :try_end_b8
13475 + .catchall {:try_start_ae .. :try_end_b8} :catchall_107
13477 + const/16 v25, 0x0
13479 + if-eqz v16, :cond_bf
13481 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
13483 + :cond_bf
13484 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13486 + monitor-enter v4
13488 + :try_start_c2
13489 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13491 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13493 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
13495 + move-result v2
13497 + add-int/lit8 v2, v2, -0x1
13499 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13501 + move-result-object v2
13503 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13505 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13507 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
13509 + move-result v2
13511 + if-nez v2, :cond_e5
13513 + if-eqz v3, :cond_e5
13515 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13517 + move-result v2
13519 + if-eqz v2, :cond_e5
13521 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13523 + :cond_e5
13524 + monitor-exit v4
13525 + :try_end_e6
13526 + .catchall {:try_start_c2 .. :try_end_e6} :catchall_13f
13528 + :goto_e6
13529 + return v25
13531 + :cond_e7
13532 + :try_start_e7
13533 + move-object/from16 v0, v24
13535 + invoke-interface {v14, v0}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
13537 + move-result v2
13539 + if-eqz v2, :cond_135
13541 + const/4 v2, 0x0
13543 + move-object/from16 v0, p0
13545 + move-object/from16 v1, v24
13547 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
13549 + move-result-object v22
13551 + move-object/from16 v0, p0
13553 + move-object/from16 v1, v24
13555 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
13557 + move-object/from16 v0, p0
13559 + move-object/from16 v1, v22
13561 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
13562 + :try_end_106
13563 + .catchall {:try_start_e7 .. :try_end_106} :catchall_107
13564 + .catch Ljava/lang/Exception; {:try_start_e7 .. :try_end_106} :catch_ad
13566 + goto :goto_90
13568 + :catchall_107
13569 + move-exception v2
13571 + if-eqz v16, :cond_10d
13573 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
13575 + :cond_10d
13576 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13578 + monitor-enter v4
13580 + :try_start_110
13581 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13583 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13585 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
13587 + move-result v5
13589 + add-int/lit8 v5, v5, -0x1
13591 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13593 + move-result-object v5
13595 + sput-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13597 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13599 + invoke-virtual {v5}, Ljava/lang/Integer;->intValue()I
13601 + move-result v5
13603 + if-nez v5, :cond_133
13605 + if-eqz v3, :cond_133
13607 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13609 + move-result v5
13611 + if-eqz v5, :cond_133
13613 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13615 + :cond_133
13616 + monitor-exit v4
13617 + :try_end_134
13618 + .catchall {:try_start_110 .. :try_end_134} :catchall_13c
13620 + throw v2
13622 + :cond_135
13623 + :try_start_135
13624 + move-object/from16 v0, v24
13626 + invoke-interface {v14, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
13627 + :try_end_13a
13628 + .catchall {:try_start_135 .. :try_end_13a} :catchall_107
13629 + .catch Ljava/lang/Exception; {:try_start_135 .. :try_end_13a} :catch_ad
13631 + goto/16 :goto_90
13633 + :catchall_13c
13634 + move-exception v2
13636 + :try_start_13d
13637 + monitor-exit v4
13638 + :try_end_13e
13639 + .catchall {:try_start_13d .. :try_end_13e} :catchall_13c
13641 + throw v2
13643 + :catchall_13f
13644 + move-exception v2
13646 + :try_start_140
13647 + monitor-exit v4
13648 + :try_end_141
13649 + .catchall {:try_start_140 .. :try_end_141} :catchall_13f
13651 + throw v2
13653 + :cond_142
13654 + if-eqz v16, :cond_147
13656 + invoke-interface/range {v16 .. v16}, Landroid/database/Cursor;->close()V
13658 + :cond_147
13659 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13661 + monitor-enter v4
13663 + :try_start_14a
13664 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13666 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13668 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
13670 + move-result v2
13672 + add-int/lit8 v2, v2, -0x1
13674 + invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13676 + move-result-object v2
13678 + sput-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13680 + sget-object v2, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
13682 + invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
13684 + move-result v2
13686 + if-nez v2, :cond_16d
13688 + if-eqz v3, :cond_16d
13690 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
13692 + move-result v2
13694 + if-eqz v2, :cond_16d
13696 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
13698 + :cond_16d
13699 + monitor-exit v4
13701 + goto/16 :goto_e6
13703 + :catchall_170
13704 + move-exception v2
13706 + monitor-exit v4
13707 + :try_end_172
13708 + .catchall {:try_start_14a .. :try_end_172} :catchall_170
13710 + throw v2
13711 +.end method
13713 +.method public declared-synchronized saveSettings(Landroid/privacy/PrivacySettings;)Z
13714 + .registers 25
13716 + monitor-enter p0
13718 + const/16 v19, 0x1
13720 + :try_start_3
13721 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
13723 + move-result-object v18
13725 + if-eqz v18, :cond_f
13727 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->isEmpty()Z
13729 + move-result v4
13731 + if-eqz v4, :cond_1a
13733 + :cond_f
13734 + const-string v4, "PrivacyPersistenceAdapter"
13736 + const-string/jumbo v5, "saveSettings - either package name, UID or both is missing"
13738 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
13739 + :try_end_17
13740 + .catchall {:try_start_3 .. :try_end_17} :catchall_399
13742 + const/4 v4, 0x0
13744 + :goto_18
13745 + monitor-exit p0
13747 + return v4
13749 + :cond_1a
13750 + :try_start_1a
13751 + new-instance v22, Landroid/content/ContentValues;
13753 + invoke-direct/range {v22 .. v22}, Landroid/content/ContentValues;-><init>()V
13755 + const-string/jumbo v4, "packageName"
13757 + move-object/from16 v0, v22
13759 + move-object/from16 v1, v18
13761 + invoke-virtual {v0, v4, v1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13763 + const-string/jumbo v4, "uid"
13765 + const/4 v5, -0x1
13767 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
13769 + move-result-object v5
13771 + move-object/from16 v0, v22
13773 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
13775 + const-string v4, "deviceIdSetting"
13777 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
13779 + move-result v5
13781 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13783 + move-result-object v5
13785 + move-object/from16 v0, v22
13787 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13789 + const-string v4, "deviceId"
13791 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
13793 + move-result-object v5
13795 + move-object/from16 v0, v22
13797 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13799 + const-string v4, "line1NumberSetting"
13801 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
13803 + move-result v5
13805 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13807 + move-result-object v5
13809 + move-object/from16 v0, v22
13811 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13813 + const-string v4, "line1Number"
13815 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
13817 + move-result-object v5
13819 + move-object/from16 v0, v22
13821 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13823 + const-string v4, "locationGpsSetting"
13825 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
13827 + move-result v5
13829 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13831 + move-result-object v5
13833 + move-object/from16 v0, v22
13835 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13837 + const-string v4, "locationGpsLat"
13839 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
13841 + move-result-object v5
13843 + move-object/from16 v0, v22
13845 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13847 + const-string v4, "locationGpsLon"
13849 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
13851 + move-result-object v5
13853 + move-object/from16 v0, v22
13855 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13857 + const-string v4, "locationNetworkSetting"
13859 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
13861 + move-result v5
13863 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13865 + move-result-object v5
13867 + move-object/from16 v0, v22
13869 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13871 + const-string v4, "locationNetworkLat"
13873 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
13875 + move-result-object v5
13877 + move-object/from16 v0, v22
13879 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13881 + const-string v4, "locationNetworkLon"
13883 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
13885 + move-result-object v5
13887 + move-object/from16 v0, v22
13889 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13891 + const-string/jumbo v4, "networkInfoSetting"
13893 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
13895 + move-result v5
13897 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13899 + move-result-object v5
13901 + move-object/from16 v0, v22
13903 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13905 + const-string/jumbo v4, "simInfoSetting"
13907 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
13909 + move-result v5
13911 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13913 + move-result-object v5
13915 + move-object/from16 v0, v22
13917 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13919 + const-string/jumbo v4, "simSerialNumberSetting"
13921 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
13923 + move-result v5
13925 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13927 + move-result-object v5
13929 + move-object/from16 v0, v22
13931 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13933 + const-string/jumbo v4, "simSerialNumber"
13935 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
13937 + move-result-object v5
13939 + move-object/from16 v0, v22
13941 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13943 + const-string/jumbo v4, "subscriberIdSetting"
13945 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
13947 + move-result v5
13949 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13951 + move-result-object v5
13953 + move-object/from16 v0, v22
13955 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13957 + const-string/jumbo v4, "subscriberId"
13959 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
13961 + move-result-object v5
13963 + move-object/from16 v0, v22
13965 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
13967 + const-string v4, "accountsSetting"
13969 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
13971 + move-result v5
13973 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13975 + move-result-object v5
13977 + move-object/from16 v0, v22
13979 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13981 + const-string v4, "accountsAuthTokensSetting"
13983 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
13985 + move-result v5
13987 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
13989 + move-result-object v5
13991 + move-object/from16 v0, v22
13993 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
13995 + const-string/jumbo v4, "outgoingCallsSetting"
13997 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
13999 + move-result v5
14001 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14003 + move-result-object v5
14005 + move-object/from16 v0, v22
14007 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14009 + const-string v4, "incomingCallsSetting"
14011 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
14013 + move-result v5
14015 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14017 + move-result-object v5
14019 + move-object/from16 v0, v22
14021 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14023 + const-string v4, "contactsSetting"
14025 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
14027 + move-result v5
14029 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14031 + move-result-object v5
14033 + move-object/from16 v0, v22
14035 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14037 + const-string v4, "calendarSetting"
14039 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
14041 + move-result v5
14043 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14045 + move-result-object v5
14047 + move-object/from16 v0, v22
14049 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14051 + const-string/jumbo v4, "mmsSetting"
14053 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
14055 + move-result v5
14057 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14059 + move-result-object v5
14061 + move-object/from16 v0, v22
14063 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14065 + const-string/jumbo v4, "smsSetting"
14067 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
14069 + move-result v5
14071 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14073 + move-result-object v5
14075 + move-object/from16 v0, v22
14077 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14079 + const-string v4, "callLogSetting"
14081 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
14083 + move-result v5
14085 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14087 + move-result-object v5
14089 + move-object/from16 v0, v22
14091 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14093 + const-string v4, "bookmarksSetting"
14095 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
14097 + move-result v5
14099 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14101 + move-result-object v5
14103 + move-object/from16 v0, v22
14105 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14107 + const-string/jumbo v4, "systemLogsSetting"
14109 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSystemLogsSetting()B
14111 + move-result v5
14113 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14115 + move-result-object v5
14117 + move-object/from16 v0, v22
14119 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14121 + const-string/jumbo v4, "notificationSetting"
14123 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getNotificationSetting()B
14125 + move-result v5
14127 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14129 + move-result-object v5
14131 + move-object/from16 v0, v22
14133 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14135 + const-string v4, "intentBootCompletedSetting"
14137 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
14139 + move-result v5
14141 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14143 + move-result-object v5
14145 + move-object/from16 v0, v22
14147 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14149 + const-string v4, "cameraSetting"
14151 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getCameraSetting()B
14153 + move-result v5
14155 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14157 + move-result-object v5
14159 + move-object/from16 v0, v22
14161 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14163 + const-string/jumbo v4, "recordAudioSetting"
14165 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getRecordAudioSetting()B
14167 + move-result v5
14169 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14171 + move-result-object v5
14173 + move-object/from16 v0, v22
14175 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14177 + const-string/jumbo v4, "smsSendSetting"
14179 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
14181 + move-result v5
14183 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14185 + move-result-object v5
14187 + move-object/from16 v0, v22
14189 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14191 + const-string/jumbo v4, "phoneCallSetting"
14193 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
14195 + move-result v5
14197 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14199 + move-result-object v5
14201 + move-object/from16 v0, v22
14203 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14205 + const-string v4, "ipTableProtectSetting"
14207 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIpTableProtectSetting()B
14209 + move-result v5
14211 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14213 + move-result-object v5
14215 + move-object/from16 v0, v22
14217 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14219 + const-string v4, "iccAccessSetting"
14221 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
14223 + move-result v5
14225 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14227 + move-result-object v5
14229 + move-object/from16 v0, v22
14231 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14233 + const-string v4, "addOnManagementSetting"
14235 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAddOnManagementSetting()B
14237 + move-result v5
14239 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14241 + move-result-object v5
14243 + move-object/from16 v0, v22
14245 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14247 + const-string v4, "androidIdSetting"
14249 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidIdSetting()B
14251 + move-result v5
14253 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14255 + move-result-object v5
14257 + move-object/from16 v0, v22
14259 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14261 + const-string v4, "androidId"
14263 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAndroidID()Ljava/lang/String;
14265 + move-result-object v5
14267 + move-object/from16 v0, v22
14269 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
14271 + const-string/jumbo v4, "wifiInfoSetting"
14273 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
14275 + move-result v5
14277 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14279 + move-result-object v5
14281 + move-object/from16 v0, v22
14283 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14285 + const-string/jumbo v4, "switchConnectivitySetting"
14287 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
14289 + move-result v5
14291 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14293 + move-result-object v5
14295 + move-object/from16 v0, v22
14297 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14299 + const-string/jumbo v4, "sendMmsSetting"
14301 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSendMmsSetting()B
14303 + move-result v5
14305 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14307 + move-result-object v5
14309 + move-object/from16 v0, v22
14311 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14313 + const-string v4, "forceOnlineState"
14315 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
14317 + move-result v5
14319 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14321 + move-result-object v5
14323 + move-object/from16 v0, v22
14325 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14327 + const-string/jumbo v4, "switchWifiStateSetting"
14329 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
14331 + move-result v5
14333 + invoke-static {v5}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
14335 + move-result-object v5
14337 + move-object/from16 v0, v22
14339 + invoke-virtual {v0, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
14341 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14343 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14345 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14347 + move-result v4
14349 + add-int/lit8 v4, v4, 0x1
14351 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14353 + move-result-object v4
14355 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14357 + invoke-direct/range {p0 .. p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
14359 + move-result-object v3
14361 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
14362 + :try_end_2c0
14363 + .catchall {:try_start_1a .. :try_end_2c0} :catchall_399
14365 + const/4 v12, 0x0
14367 + :try_start_2c1
14368 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->get_id()Ljava/lang/Integer;
14370 + move-result-object v16
14372 + if-eqz v16, :cond_39f
14374 + const-string/jumbo v4, "settings"
14376 + const-string v5, "_id=?"
14378 + const/4 v6, 0x1
14380 + new-array v6, v6, [Ljava/lang/String;
14382 + const/4 v7, 0x0
14384 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
14386 + move-result-object v8
14388 + aput-object v8, v6, v7
14390 + move-object/from16 v0, v22
14392 + 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
14394 + move-result v4
14396 + const/4 v5, 0x1
14398 + if-ge v4, v5, :cond_31e
14400 + new-instance v4, Ljava/lang/Exception;
14402 + const-string/jumbo v5, "saveSettings - failed to update database entry"
14404 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14406 + throw v4
14407 + :try_end_2e8
14408 + .catchall {:try_start_2c1 .. :try_end_2e8} :catchall_368
14409 + .catch Ljava/lang/Exception; {:try_start_2c1 .. :try_end_2e8} :catch_2e8
14411 + :catch_2e8
14412 + move-exception v14
14414 + const/16 v19, 0x0
14416 + :try_start_2eb
14417 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
14419 + if-eqz v12, :cond_2f3
14421 + invoke-interface {v12}, Landroid/database/Cursor;->close()V
14423 + :cond_2f3
14424 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14426 + monitor-enter v5
14427 + :try_end_2f6
14428 + .catchall {:try_start_2eb .. :try_end_2f6} :catchall_399
14430 + :try_start_2f6
14431 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14433 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14435 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14437 + move-result v4
14439 + add-int/lit8 v4, v4, -0x1
14441 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14443 + move-result-object v4
14445 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14447 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14449 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14451 + move-result v4
14453 + if-nez v4, :cond_319
14455 + if-eqz v3, :cond_319
14457 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
14459 + move-result v4
14461 + if-eqz v4, :cond_319
14463 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
14465 + :cond_319
14466 + monitor-exit v5
14467 + :try_end_31a
14468 + .catchall {:try_start_2f6 .. :try_end_31a} :catchall_519
14470 + :goto_31a
14471 + move/from16 v4, v19
14473 + goto/16 :goto_18
14475 + :cond_31e
14476 + :try_start_31e
14477 + const-string v4, "allowed_contacts"
14479 + const-string/jumbo v5, "settings_id=?"
14481 + const/4 v6, 0x1
14483 + new-array v6, v6, [Ljava/lang/String;
14485 + const/4 v7, 0x0
14487 + invoke-virtual/range {v16 .. v16}, Ljava/lang/Integer;->toString()Ljava/lang/String;
14489 + move-result-object v8
14491 + aput-object v8, v6, v7
14493 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
14495 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
14497 + move-result-object v11
14499 + if-eqz v11, :cond_4c9
14501 + new-instance v13, Landroid/content/ContentValues;
14503 + invoke-direct {v13}, Landroid/content/ContentValues;-><init>()V
14505 + const/4 v15, 0x0
14507 + :goto_33c
14508 + array-length v4, v11
14510 + if-ge v15, v4, :cond_4c9
14512 + const-string/jumbo v4, "settings_id"
14514 + move-object/from16 v0, v16
14516 + invoke-virtual {v13, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
14518 + const-string v4, "contact_id"
14520 + aget v5, v11, v15
14522 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14524 + move-result-object v5
14526 + invoke-virtual {v13, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
14528 + const-string v4, "allowed_contacts"
14530 + const/4 v5, 0x0
14532 + invoke-virtual {v3, v4, v5, v13}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
14534 + move-result-wide v4
14536 + const-wide/16 v6, -0x1
14538 + cmp-long v4, v4, v6
14540 + if-nez v4, :cond_39c
14542 + new-instance v4, Ljava/lang/Exception;
14544 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
14546 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14548 + throw v4
14549 + :try_end_368
14550 + .catchall {:try_start_31e .. :try_end_368} :catchall_368
14551 + .catch Ljava/lang/Exception; {:try_start_31e .. :try_end_368} :catch_2e8
14553 + :catchall_368
14554 + move-exception v4
14556 + :try_start_369
14557 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
14559 + if-eqz v12, :cond_371
14561 + invoke-interface {v12}, Landroid/database/Cursor;->close()V
14563 + :cond_371
14564 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14566 + monitor-enter v5
14567 + :try_end_374
14568 + .catchall {:try_start_369 .. :try_end_374} :catchall_399
14570 + :try_start_374
14571 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14573 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14575 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
14577 + move-result v6
14579 + add-int/lit8 v6, v6, -0x1
14581 + invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14583 + move-result-object v6
14585 + sput-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14587 + sget-object v6, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14589 + invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I
14591 + move-result v6
14593 + if-nez v6, :cond_397
14595 + if-eqz v3, :cond_397
14597 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
14599 + move-result v6
14601 + if-eqz v6, :cond_397
14603 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
14605 + :cond_397
14606 + monitor-exit v5
14607 + :try_end_398
14608 + .catchall {:try_start_374 .. :try_end_398} :catchall_51c
14610 + :try_start_398
14611 + throw v4
14612 + :try_end_399
14613 + .catchall {:try_start_398 .. :try_end_399} :catchall_399
14615 + :catchall_399
14616 + move-exception v4
14618 + monitor-exit p0
14620 + throw v4
14622 + :cond_39c
14623 + add-int/lit8 v15, v15, 0x1
14625 + goto :goto_33c
14627 + :cond_39f
14628 + :try_start_39f
14629 + const-string/jumbo v4, "settings"
14631 + const/4 v5, 0x1
14633 + new-array v5, v5, [Ljava/lang/String;
14635 + const/4 v6, 0x0
14637 + const-string v7, "_id"
14639 + aput-object v7, v5, v6
14641 + const-string/jumbo v6, "packageName=?"
14643 + const/4 v7, 0x1
14645 + new-array v7, v7, [Ljava/lang/String;
14647 + const/4 v8, 0x0
14649 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
14651 + move-result-object v9
14653 + aput-object v9, v7, v8
14655 + const/4 v8, 0x0
14657 + const/4 v9, 0x0
14659 + const/4 v10, 0x0
14661 + 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;
14663 + move-result-object v12
14665 + if-eqz v12, :cond_4be
14667 + invoke-interface {v12}, Landroid/database/Cursor;->getCount()I
14669 + move-result v4
14671 + const/4 v5, 0x1
14673 + if-ne v4, v5, :cond_445
14675 + const-string/jumbo v4, "settings"
14677 + const-string/jumbo v5, "packageName=?"
14679 + const/4 v6, 0x1
14681 + new-array v6, v6, [Ljava/lang/String;
14683 + const/4 v7, 0x0
14685 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
14687 + move-result-object v8
14689 + aput-object v8, v6, v7
14691 + move-object/from16 v0, v22
14693 + 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
14695 + move-result v4
14697 + const/4 v5, 0x1
14699 + if-ge v4, v5, :cond_3e9
14701 + new-instance v4, Ljava/lang/Exception;
14703 + const-string/jumbo v5, "saveSettings - failed to update database entry"
14705 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14707 + throw v4
14709 + :cond_3e9
14710 + invoke-interface {v12}, Landroid/database/Cursor;->moveToFirst()Z
14712 + move-result v4
14714 + if-eqz v4, :cond_4c9
14716 + const/4 v4, 0x0
14718 + invoke-interface {v12, v4}, Landroid/database/Cursor;->getInt(I)I
14720 + move-result v4
14722 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14724 + move-result-object v17
14726 + const-string v4, "allowed_contacts"
14728 + const-string/jumbo v5, "settings_id=?"
14730 + const/4 v6, 0x1
14732 + new-array v6, v6, [Ljava/lang/String;
14734 + const/4 v7, 0x0
14736 + invoke-virtual/range {v17 .. v17}, Ljava/lang/Integer;->toString()Ljava/lang/String;
14738 + move-result-object v8
14740 + aput-object v8, v6, v7
14742 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
14744 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
14746 + move-result-object v11
14748 + if-eqz v11, :cond_4c9
14750 + new-instance v13, Landroid/content/ContentValues;
14752 + invoke-direct {v13}, Landroid/content/ContentValues;-><init>()V
14754 + const/4 v15, 0x0
14756 + :goto_416
14757 + array-length v4, v11
14759 + if-ge v15, v4, :cond_4c9
14761 + const-string/jumbo v4, "settings_id"
14763 + move-object/from16 v0, v17
14765 + invoke-virtual {v13, v4, v0}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
14767 + const-string v4, "contact_id"
14769 + aget v5, v11, v15
14771 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14773 + move-result-object v5
14775 + invoke-virtual {v13, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
14777 + const-string v4, "allowed_contacts"
14779 + const/4 v5, 0x0
14781 + invoke-virtual {v3, v4, v5, v13}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
14783 + move-result-wide v4
14785 + const-wide/16 v6, -0x1
14787 + cmp-long v4, v4, v6
14789 + if-nez v4, :cond_442
14791 + new-instance v4, Ljava/lang/Exception;
14793 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
14795 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14797 + throw v4
14799 + :cond_442
14800 + add-int/lit8 v15, v15, 0x1
14802 + goto :goto_416
14804 + :cond_445
14805 + invoke-interface {v12}, Landroid/database/Cursor;->getCount()I
14807 + move-result v4
14809 + if-nez v4, :cond_4b3
14811 + const-string/jumbo v4, "settings"
14813 + const/4 v5, 0x0
14815 + move-object/from16 v0, v22
14817 + invoke-virtual {v3, v4, v5, v0}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
14819 + move-result-wide v20
14821 + const-wide/16 v4, -0x1
14823 + cmp-long v4, v20, v4
14825 + if-nez v4, :cond_464
14827 + new-instance v4, Ljava/lang/Exception;
14829 + const-string/jumbo v5, "saveSettings - failed to insert new record into DB"
14831 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14833 + throw v4
14835 + :cond_464
14836 + const-string v4, "allowed_contacts"
14838 + const-string/jumbo v5, "settings_id=?"
14840 + const/4 v6, 0x1
14842 + new-array v6, v6, [Ljava/lang/String;
14844 + const/4 v7, 0x0
14846 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->toString(J)Ljava/lang/String;
14848 + move-result-object v8
14850 + aput-object v8, v6, v7
14852 + invoke-virtual {v3, v4, v5, v6}, Landroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
14854 + invoke-virtual/range {p1 .. p1}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
14856 + move-result-object v11
14858 + if-eqz v11, :cond_4c9
14860 + new-instance v13, Landroid/content/ContentValues;
14862 + invoke-direct {v13}, Landroid/content/ContentValues;-><init>()V
14864 + const/4 v15, 0x0
14866 + :goto_482
14867 + array-length v4, v11
14869 + if-ge v15, v4, :cond_4c9
14871 + const-string/jumbo v4, "settings_id"
14873 + invoke-static/range {v20 .. v21}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
14875 + move-result-object v5
14877 + invoke-virtual {v13, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Long;)V
14879 + const-string v4, "contact_id"
14881 + aget v5, v11, v15
14883 + invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14885 + move-result-object v5
14887 + invoke-virtual {v13, v4, v5}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Integer;)V
14889 + const-string v4, "allowed_contacts"
14891 + const/4 v5, 0x0
14893 + invoke-virtual {v3, v4, v5, v13}, Landroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
14895 + move-result-wide v4
14897 + const-wide/16 v6, -0x1
14899 + cmp-long v4, v4, v6
14901 + if-nez v4, :cond_4b0
14903 + new-instance v4, Ljava/lang/Exception;
14905 + const-string/jumbo v5, "saveSettings - failed to update database entry (contacts)"
14907 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14909 + throw v4
14911 + :cond_4b0
14912 + add-int/lit8 v15, v15, 0x1
14914 + goto :goto_482
14916 + :cond_4b3
14917 + const/16 v19, 0x0
14919 + new-instance v4, Ljava/lang/Exception;
14921 + const-string/jumbo v5, "saveSettings - duplicate entries in the privacy.db"
14923 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14925 + throw v4
14927 + :cond_4be
14928 + const/16 v19, 0x0
14930 + new-instance v4, Ljava/lang/Exception;
14932 + const-string/jumbo v5, "saveSettings - cursor is null, database access failed"
14934 + invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
14936 + throw v4
14938 + :cond_4c9
14939 + const-string/jumbo v4, "systemLogsSetting"
14941 + move-object/from16 v0, p0
14943 + move-object/from16 v1, v18
14945 + move-object/from16 v2, p1
14947 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
14949 + move-result v19
14951 + const-string v4, "ipTableProtectSetting"
14953 + move-object/from16 v0, p0
14955 + move-object/from16 v1, v18
14957 + move-object/from16 v2, p1
14959 + invoke-direct {v0, v4, v1, v2}, Landroid/privacy/PrivacyPersistenceAdapter;->writeExternalSettings(Ljava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)Z
14961 + move-result v19
14963 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
14964 + :try_end_4e5
14965 + .catchall {:try_start_39f .. :try_end_4e5} :catchall_368
14966 + .catch Ljava/lang/Exception; {:try_start_39f .. :try_end_4e5} :catch_2e8
14968 + :try_start_4e5
14969 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->endTransaction()V
14971 + if-eqz v12, :cond_4ed
14973 + invoke-interface {v12}, Landroid/database/Cursor;->close()V
14975 + :cond_4ed
14976 + sget-object v5, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14978 + monitor-enter v5
14979 + :try_end_4f0
14980 + .catchall {:try_start_4e5 .. :try_end_4f0} :catchall_399
14982 + :try_start_4f0
14983 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14985 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14987 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
14989 + move-result v4
14991 + add-int/lit8 v4, v4, -0x1
14993 + invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
14995 + move-result-object v4
14997 + sput-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
14999 + sget-object v4, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
15001 + invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
15003 + move-result v4
15005 + if-nez v4, :cond_513
15007 + if-eqz v3, :cond_513
15009 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
15011 + move-result v4
15013 + if-eqz v4, :cond_513
15015 + invoke-virtual {v3}, Landroid/database/sqlite/SQLiteDatabase;->close()V
15017 + :cond_513
15018 + monitor-exit v5
15020 + goto/16 :goto_31a
15022 + :catchall_516
15023 + move-exception v4
15025 + monitor-exit v5
15026 + :try_end_518
15027 + .catchall {:try_start_4f0 .. :try_end_518} :catchall_516
15029 + :try_start_518
15030 + throw v4
15031 + :try_end_519
15032 + .catchall {:try_start_518 .. :try_end_519} :catchall_399
15034 + :catchall_519
15035 + move-exception v4
15037 + :try_start_51a
15038 + monitor-exit v5
15039 + :try_end_51b
15040 + .catchall {:try_start_51a .. :try_end_51b} :catchall_519
15042 + :try_start_51b
15043 + throw v4
15044 + :try_end_51c
15045 + .catchall {:try_start_51b .. :try_end_51c} :catchall_399
15047 + :catchall_51c
15048 + move-exception v4
15050 + :try_start_51d
15051 + monitor-exit v5
15052 + :try_end_51e
15053 + .catchall {:try_start_51d .. :try_end_51e} :catchall_51c
15055 + :try_start_51e
15056 + throw v4
15057 + :try_end_51f
15058 + .catchall {:try_start_51e .. :try_end_51f} :catchall_399
15059 +.end method
15061 +.method public declared-synchronized setValue(Ljava/lang/String;Ljava/lang/String;)Z
15062 + .registers 10
15064 + monitor-enter p0
15066 + :try_start_1
15067 + const-string v3, "PrivacyPersistenceAdapter"
15069 + new-instance v4, Ljava/lang/StringBuilder;
15071 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
15073 + const-string/jumbo v5, "setValue - name "
15075 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15077 + move-result-object v4
15079 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15081 + move-result-object v4
15083 + const-string v5, " value "
15085 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15087 + move-result-object v4
15089 + invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15091 + move-result-object v4
15093 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15095 + move-result-object v4
15097 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15099 + new-instance v2, Landroid/content/ContentValues;
15101 + invoke-direct {v2}, Landroid/content/ContentValues;-><init>()V
15103 + const-string/jumbo v3, "name"
15105 + invoke-virtual {v2, v3, p1}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15107 + const-string/jumbo v3, "value"
15109 + invoke-virtual {v2, v3, p2}, Landroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/String;)V
15111 + invoke-direct {p0}, Landroid/privacy/PrivacyPersistenceAdapter;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
15113 + move-result-object v0
15115 + const-string/jumbo v3, "map"
15117 + const/4 v4, 0x0
15119 + invoke-virtual {v0, v3, v4, v2}, Landroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
15121 + move-result-wide v3
15123 + const-wide/16 v5, -0x1
15125 + cmp-long v3, v3, v5
15127 + if-eqz v3, :cond_5d
15129 + const/4 v1, 0x1
15131 + :goto_48
15132 + sget-object v3, Landroid/privacy/PrivacyPersistenceAdapter;->readingThreads:Ljava/lang/Integer;
15134 + invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
15136 + move-result v3
15138 + if-nez v3, :cond_5b
15140 + if-eqz v0, :cond_5b
15142 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->isOpen()Z
15144 + move-result v3
15146 + if-eqz v3, :cond_5b
15148 + invoke-virtual {v0}, Landroid/database/sqlite/SQLiteDatabase;->close()V
15149 + :try_end_5b
15150 + .catchall {:try_start_1 .. :try_end_5b} :catchall_5f
15152 + :cond_5b
15153 + monitor-exit p0
15155 + return v1
15157 + :cond_5d
15158 + const/4 v1, 0x0
15160 + goto :goto_48
15162 + :catchall_5f
15163 + move-exception v3
15165 + monitor-exit p0
15167 + throw v3
15168 +.end method
15169 diff -Npru stock-framework/smali/android/privacy/PrivacySettings$1.smali ext-framework/smali/android/privacy/PrivacySettings$1.smali
15170 --- stock-framework/smali/android/privacy/PrivacySettings$1.smali 1969-12-31 18:00:00.000000000 -0600
15171 +++ ext-framework/smali/android/privacy/PrivacySettings$1.smali 2012-11-08 09:11:56.538841700 -0600
15172 @@ -0,0 +1,77 @@
15173 +.class final Landroid/privacy/PrivacySettings$1;
15174 +.super Ljava/lang/Object;
15175 +.source "PrivacySettings.java"
15177 +# interfaces
15178 +.implements Landroid/os/Parcelable$Creator;
15181 +# annotations
15182 +.annotation system Ldalvik/annotation/EnclosingClass;
15183 + value = Landroid/privacy/PrivacySettings;
15184 +.end annotation
15186 +.annotation system Ldalvik/annotation/InnerClass;
15187 + accessFlags = 0x8
15188 + name = null
15189 +.end annotation
15191 +.annotation system Ldalvik/annotation/Signature;
15192 + value = {
15193 + "Ljava/lang/Object;",
15194 + "Landroid/os/Parcelable$Creator",
15195 + "<",
15196 + "Landroid/privacy/PrivacySettings;",
15197 + ">;"
15199 +.end annotation
15202 +# direct methods
15203 +.method constructor <init>()V
15204 + .registers 1
15206 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
15208 + return-void
15209 +.end method
15212 +# virtual methods
15213 +.method public createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
15214 + .registers 3
15216 + new-instance v0, Landroid/privacy/PrivacySettings;
15218 + invoke-direct {v0, p1}, Landroid/privacy/PrivacySettings;-><init>(Landroid/os/Parcel;)V
15220 + return-object v0
15221 +.end method
15223 +.method public bridge synthetic createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
15224 + .registers 3
15226 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/privacy/PrivacySettings;
15228 + move-result-object v0
15230 + return-object v0
15231 +.end method
15233 +.method public newArray(I)[Landroid/privacy/PrivacySettings;
15234 + .registers 3
15236 + new-array v0, p1, [Landroid/privacy/PrivacySettings;
15238 + return-object v0
15239 +.end method
15241 +.method public bridge synthetic newArray(I)[Ljava/lang/Object;
15242 + .registers 3
15244 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettings$1;->newArray(I)[Landroid/privacy/PrivacySettings;
15246 + move-result-object v0
15248 + return-object v0
15249 +.end method
15250 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali ext-framework/smali/android/privacy/PrivacySettingsManagerService.smali
15251 --- stock-framework/smali/android/privacy/PrivacySettingsManagerService.smali 1969-12-31 18:00:00.000000000 -0600
15252 +++ ext-framework/smali/android/privacy/PrivacySettingsManagerService.smali 2012-11-08 09:11:56.542841715 -0600
15253 @@ -0,0 +1,565 @@
15254 +.class public Landroid/privacy/PrivacySettingsManagerService;
15255 +.super Landroid/privacy/IPrivacySettingsManager$Stub;
15256 +.source "PrivacySettingsManagerService.java"
15259 +# static fields
15260 +.field private static final READ_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.READ_PRIVACY_SETTINGS"
15262 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManagerService"
15264 +.field private static final VERSION:D = 1.51
15266 +.field private static final WRITE_PRIVACY_SETTINGS:Ljava/lang/String; = "android.privacy.WRITE_PRIVACY_SETTINGS"
15268 +.field public static obs:Landroid/privacy/PrivacyFileObserver;
15271 +# instance fields
15272 +.field private bootCompleted:Z
15274 +.field private context:Landroid/content/Context;
15276 +.field private enabled:Z
15278 +.field private notificationsEnabled:Z
15280 +.field private persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15283 +# direct methods
15284 +.method public constructor <init>(Landroid/content/Context;)V
15285 + .registers 5
15287 + invoke-direct {p0}, Landroid/privacy/IPrivacySettingsManager$Stub;-><init>()V
15289 + const-string v0, "PrivacySettingsManagerService"
15291 + new-instance v1, Ljava/lang/StringBuilder;
15293 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
15295 + const-string v2, "PrivacySettingsManagerService - initializing for package: "
15297 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15299 + move-result-object v1
15301 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15303 + move-result-object v2
15305 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15307 + move-result-object v1
15309 + const-string v2, " UID: "
15311 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15313 + move-result-object v1
15315 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15317 + move-result v2
15319 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
15321 + move-result-object v1
15323 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15325 + move-result-object v1
15327 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
15329 + iput-object p1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15331 + new-instance v0, Landroid/privacy/PrivacyPersistenceAdapter;
15333 + invoke-direct {v0, p1}, Landroid/privacy/PrivacyPersistenceAdapter;-><init>(Landroid/content/Context;)V
15335 + iput-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15337 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
15339 + const-string v1, "/data/system/privacy"
15341 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
15343 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
15345 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15347 + const-string v1, "enabled"
15349 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
15351 + move-result-object v0
15353 + const-string v1, "1"
15355 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15357 + move-result v0
15359 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
15361 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15363 + const-string/jumbo v1, "notifications_enabled"
15365 + invoke-virtual {v0, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getValue(Ljava/lang/String;)Ljava/lang/String;
15367 + move-result-object v0
15369 + const-string v1, "1"
15371 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15373 + move-result v0
15375 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
15377 + const/4 v0, 0x0
15379 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
15381 + return-void
15382 +.end method
15385 +# virtual methods
15386 +.method public addObserver(Ljava/lang/String;)V
15387 + .registers 5
15389 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15391 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
15393 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
15395 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
15397 + sget-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
15399 + invoke-virtual {v0, p1}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
15401 + return-void
15402 +.end method
15404 +.method public deleteSettings(Ljava/lang/String;)Z
15405 + .registers 8
15407 + const/4 v5, 0x1
15409 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15411 + move-result v2
15413 + const/16 v3, 0x3e8
15415 + if-eq v2, v3, :cond_12
15417 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15419 + const-string v3, "android.privacy.WRITE_PRIVACY_SETTINGS"
15421 + const-string v4, "Requires WRITE_PRIVACY_SETTINGS"
15423 + invoke-virtual {v2, v3, v4}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
15425 + :cond_12
15426 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15428 + invoke-virtual {v2, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->deleteSettings(Ljava/lang/String;)Z
15430 + move-result v1
15432 + new-instance v2, Ljava/lang/StringBuilder;
15434 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15436 + const-string v3, "/data/system/privacy/"
15438 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15440 + move-result-object v2
15442 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15444 + move-result-object v2
15446 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15448 + move-result-object v0
15450 + new-instance v2, Ljava/io/File;
15452 + invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
15454 + invoke-virtual {v2}, Ljava/io/File;->exists()Z
15456 + move-result v2
15458 + if-eqz v2, :cond_3e
15460 + if-ne v1, v5, :cond_3e
15462 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
15464 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
15466 + :cond_3d
15467 + :goto_3d
15468 + return v1
15470 + :cond_3e
15471 + if-ne v1, v5, :cond_3d
15473 + sget-object v2, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
15475 + iget-object v2, v2, Landroid/privacy/PrivacyFileObserver;->children:Ljava/util/HashMap;
15477 + invoke-virtual {v2, v0}, Ljava/util/HashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
15479 + goto :goto_3d
15480 +.end method
15482 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
15483 + .registers 4
15485 + iget-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
15487 + if-nez v0, :cond_2e
15489 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15491 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15493 + move-result-object v0
15495 + const-string v1, "com.privacy.pdroid"
15497 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15499 + move-result v0
15501 + if-nez v0, :cond_2e
15503 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15505 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15507 + move-result-object v0
15509 + const-string v1, "com.privacy.pdroid.Addon"
15511 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15513 + move-result v0
15515 + if-nez v0, :cond_2e
15517 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15519 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
15521 + move-result-object v0
15523 + const-string v1, "com.android.privacy.pdroid.extension"
15525 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
15527 + move-result v0
15529 + if-eqz v0, :cond_36
15531 + :cond_2e
15532 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15534 + const/4 v1, 0x0
15536 + invoke-virtual {v0, p1, v1}, Landroid/privacy/PrivacyPersistenceAdapter;->getSettings(Ljava/lang/String;Z)Landroid/privacy/PrivacySettings;
15538 + move-result-object v0
15540 + :goto_35
15541 + return-object v0
15543 + :cond_36
15544 + const/4 v0, 0x0
15546 + goto :goto_35
15547 +.end method
15549 +.method public getVersion()D
15550 + .registers 3
15552 + const-wide v0, 0x3ff828f5c28f5c29L
15554 + return-wide v0
15555 +.end method
15557 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
15558 + .registers 8
15560 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
15562 + if-eqz v1, :cond_34
15564 + iget-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
15566 + if-eqz v1, :cond_34
15568 + new-instance v0, Landroid/content/Intent;
15570 + invoke-direct {v0}, Landroid/content/Intent;-><init>()V
15572 + const-string v1, "com.privacy.pdroid.PRIVACY_NOTIFICATION"
15574 + invoke-virtual {v0, v1}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
15576 + const-string/jumbo v1, "packageName"
15578 + invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15580 + const-string/jumbo v1, "uid"
15582 + const/4 v2, -0x1
15584 + invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent;
15586 + const-string v1, "accessMode"
15588 + invoke-virtual {v0, v1, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;B)Landroid/content/Intent;
15590 + const-string v1, "dataType"
15592 + invoke-virtual {v0, v1, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15594 + const-string/jumbo v1, "output"
15596 + invoke-virtual {v0, v1, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
15598 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15600 + invoke-virtual {v1, v0}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V
15602 + :cond_34
15603 + return-void
15604 +.end method
15606 +.method public purgeSettings()Z
15607 + .registers 2
15609 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15611 + invoke-virtual {v0}, Landroid/privacy/PrivacyPersistenceAdapter;->purgeSettings()Z
15613 + move-result v0
15615 + return v0
15616 +.end method
15618 +.method public registerObservers()V
15619 + .registers 4
15621 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15623 + const-string v1, "android.privacy.WRITE_PRIVACY_SETTINGS"
15625 + const-string v2, "Requires WRITE_PRIVACY_SETTINGS"
15627 + invoke-virtual {v0, v1, v2}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
15629 + new-instance v0, Landroid/privacy/PrivacyFileObserver;
15631 + const-string v1, "/data/system/privacy"
15633 + invoke-direct {v0, v1, p0}, Landroid/privacy/PrivacyFileObserver;-><init>(Ljava/lang/String;Landroid/privacy/PrivacySettingsManagerService;)V
15635 + sput-object v0, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
15637 + return-void
15638 +.end method
15640 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
15641 + .registers 6
15643 + const-string v1, "PrivacySettingsManagerService"
15645 + new-instance v2, Ljava/lang/StringBuilder;
15647 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15649 + const-string/jumbo v3, "saveSettings - checking if caller (UID: "
15651 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15653 + move-result-object v2
15655 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15657 + move-result v3
15659 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
15661 + move-result-object v2
15663 + const-string v3, ") has sufficient permissions"
15665 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15667 + move-result-object v2
15669 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15671 + move-result-object v2
15673 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
15675 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
15677 + move-result v1
15679 + const/16 v2, 0x3e8
15681 + if-eq v1, v2, :cond_34
15683 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->context:Landroid/content/Context;
15685 + const-string v2, "android.privacy.WRITE_PRIVACY_SETTINGS"
15687 + const-string v3, "Requires WRITE_PRIVACY_SETTINGS"
15689 + invoke-virtual {v1, v2, v3}, Landroid/content/Context;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
15691 + :cond_34
15692 + const-string v1, "PrivacySettingsManagerService"
15694 + new-instance v2, Ljava/lang/StringBuilder;
15696 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
15698 + const-string/jumbo v3, "saveSettings - "
15700 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
15702 + move-result-object v2
15704 + invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
15706 + move-result-object v2
15708 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
15710 + move-result-object v2
15712 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
15714 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15716 + invoke-virtual {v1, p1}, Landroid/privacy/PrivacyPersistenceAdapter;->saveSettings(Landroid/privacy/PrivacySettings;)Z
15718 + move-result v0
15720 + const/4 v1, 0x1
15722 + if-ne v0, v1, :cond_5f
15724 + sget-object v1, Landroid/privacy/PrivacySettingsManagerService;->obs:Landroid/privacy/PrivacyFileObserver;
15726 + invoke-virtual {p1}, Landroid/privacy/PrivacySettings;->getPackageName()Ljava/lang/String;
15728 + move-result-object v2
15730 + invoke-virtual {v1, v2}, Landroid/privacy/PrivacyFileObserver;->addObserver(Ljava/lang/String;)V
15732 + :cond_5f
15733 + return v0
15734 +.end method
15736 +.method public setBootCompleted()V
15737 + .registers 2
15739 + const/4 v0, 0x1
15741 + iput-boolean v0, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
15743 + return-void
15744 +.end method
15746 +.method public setEnabled(Z)Z
15747 + .registers 6
15749 + const/4 v1, 0x1
15751 + if-eqz p1, :cond_12
15753 + const-string v0, "1"
15755 + :goto_5
15756 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15758 + const-string v3, "enabled"
15760 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
15762 + move-result v2
15764 + if-eqz v2, :cond_15
15766 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->enabled:Z
15768 + :goto_11
15769 + return v1
15771 + :cond_12
15772 + const-string v0, "0"
15774 + goto :goto_5
15776 + :cond_15
15777 + const/4 v1, 0x0
15779 + goto :goto_11
15780 +.end method
15782 +.method public setNotificationsEnabled(Z)Z
15783 + .registers 6
15785 + const/4 v1, 0x1
15787 + if-eqz p1, :cond_15
15789 + const-string v0, "1"
15791 + :goto_5
15792 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManagerService;->persistenceAdapter:Landroid/privacy/PrivacyPersistenceAdapter;
15794 + const-string/jumbo v3, "notifications_enabled"
15796 + invoke-virtual {v2, v3, v0}, Landroid/privacy/PrivacyPersistenceAdapter;->setValue(Ljava/lang/String;Ljava/lang/String;)Z
15798 + move-result v2
15800 + if-eqz v2, :cond_18
15802 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->notificationsEnabled:Z
15804 + iput-boolean v1, p0, Landroid/privacy/PrivacySettingsManagerService;->bootCompleted:Z
15806 + :goto_14
15807 + return v1
15809 + :cond_15
15810 + const-string v0, "0"
15812 + goto :goto_5
15814 + :cond_18
15815 + const/4 v1, 0x0
15817 + goto :goto_14
15818 +.end method
15819 diff -Npru stock-framework/smali/android/privacy/PrivacySettingsManager.smali ext-framework/smali/android/privacy/PrivacySettingsManager.smali
15820 --- stock-framework/smali/android/privacy/PrivacySettingsManager.smali 1969-12-31 18:00:00.000000000 -0600
15821 +++ ext-framework/smali/android/privacy/PrivacySettingsManager.smali 2012-11-08 09:11:56.542841715 -0600
15822 @@ -0,0 +1,535 @@
15823 +.class public Landroid/privacy/PrivacySettingsManager;
15824 +.super Ljava/lang/Object;
15825 +.source "PrivacySettingsManager.java"
15828 +# static fields
15829 +.field public static final ACTION_PRIVACY_NOTIFICATION:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION"
15831 +.field public static final ACTION_PRIVACY_NOTIFICATION_ADDON:Ljava/lang/String; = "com.privacy.pdroid.PRIVACY_NOTIFICATION_ADDON"
15833 +.field private static final TAG:Ljava/lang/String; = "PrivacySettingsManager"
15836 +# instance fields
15837 +.field private service:Landroid/privacy/IPrivacySettingsManager;
15840 +# direct methods
15841 +.method public constructor <init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
15842 + .registers 3
15844 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
15846 + iput-object p2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15848 + return-void
15849 +.end method
15852 +# virtual methods
15853 +.method public addObserver(Ljava/lang/String;)V
15854 + .registers 5
15856 + :try_start_0
15857 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15859 + if-eqz v1, :cond_a
15861 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15863 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->addObserver(Ljava/lang/String;)V
15865 + :goto_9
15866 + return-void
15868 + :cond_a
15869 + const-string v1, "PrivacySettingsManager"
15871 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
15873 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15874 + :try_end_11
15875 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
15877 + goto :goto_9
15879 + :catch_12
15880 + move-exception v0
15882 + const-string v1, "PrivacySettingsManager"
15884 + const-string v2, "RemoteException in addObserver: "
15886 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15888 + goto :goto_9
15889 +.end method
15891 +.method public deleteSettings(Ljava/lang/String;)Z
15892 + .registers 3
15894 + const/4 v0, -0x1
15896 + invoke-virtual {p0, p1, v0}, Landroid/privacy/PrivacySettingsManager;->deleteSettings(Ljava/lang/String;I)Z
15898 + move-result v0
15900 + return v0
15901 +.end method
15903 +.method public deleteSettings(Ljava/lang/String;I)Z
15904 + .registers 7
15906 + const/4 v1, 0x0
15908 + :try_start_1
15909 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15911 + if-eqz v2, :cond_c
15913 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15915 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->deleteSettings(Ljava/lang/String;)Z
15917 + move-result v1
15919 + :goto_b
15920 + return v1
15922 + :cond_c
15923 + const-string v2, "PrivacySettingsManager"
15925 + const-string v3, "deleteSettings - PrivacySettingsManagerService is null"
15927 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15928 + :try_end_13
15929 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
15931 + goto :goto_b
15933 + :catch_14
15934 + move-exception v0
15936 + const-string v2, "PrivacySettingsManager"
15938 + const-string v3, "RemoteException in deleteSettings: "
15940 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
15942 + goto :goto_b
15943 +.end method
15945 +.method public getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
15946 + .registers 6
15948 + const/4 v1, 0x0
15950 + :try_start_1
15951 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15953 + if-eqz v2, :cond_c
15955 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15957 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
15959 + move-result-object v1
15961 + :goto_b
15962 + return-object v1
15964 + :cond_c
15965 + const-string v2, "PrivacySettingsManager"
15967 + const-string v3, "getSettings - PrivacySettingsManagerService is null"
15969 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
15970 + :try_end_13
15971 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_13} :catch_14
15973 + goto :goto_b
15975 + :catch_14
15976 + move-exception v0
15978 + invoke-virtual {v0}, Landroid/os/RemoteException;->printStackTrace()V
15980 + goto :goto_b
15981 +.end method
15983 +.method public getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
15984 + .registers 4
15986 + invoke-virtual {p0, p1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
15988 + move-result-object v0
15990 + return-object v0
15991 +.end method
15993 +.method public getVersion()D
15994 + .registers 4
15996 + :try_start_0
15997 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
15999 + if-eqz v1, :cond_b
16001 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16003 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->getVersion()D
16005 + move-result-wide v1
16007 + :goto_a
16008 + return-wide v1
16010 + :cond_b
16011 + const-string v1, "PrivacySettingsManager"
16013 + const-string v2, "getVersion - PrivacySettingsManagerService is null"
16015 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16016 + :try_end_12
16017 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_15
16019 + :goto_12
16020 + const-wide/16 v1, 0x0
16022 + goto :goto_a
16024 + :catch_15
16025 + move-exception v0
16027 + const-string v1, "PrivacySettingsManager"
16029 + const-string v2, "RemoteException in getVersion: "
16031 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16033 + goto :goto_12
16034 +.end method
16036 +.method public isServiceAvailable()Z
16037 + .registers 2
16039 + iget-object v0, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16041 + if-eqz v0, :cond_6
16043 + const/4 v0, 0x1
16045 + :goto_5
16046 + return v0
16048 + :cond_6
16049 + const/4 v0, 0x0
16051 + goto :goto_5
16052 +.end method
16054 +.method public notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16055 + .registers 9
16057 + :try_start_0
16058 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16060 + if-eqz v1, :cond_a
16062 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16064 + invoke-interface {v1, p1, p2, p3, p4}, Landroid/privacy/IPrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;)V
16066 + :goto_9
16067 + return-void
16069 + :cond_a
16070 + const-string v1, "PrivacySettingsManager"
16072 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
16074 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16075 + :try_end_11
16076 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
16078 + goto :goto_9
16080 + :catch_12
16081 + move-exception v0
16083 + const-string v1, "PrivacySettingsManager"
16085 + const-string v2, "RemoteException in notification: "
16087 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16089 + goto :goto_9
16090 +.end method
16092 +.method public notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16093 + .registers 13
16095 + move-object v0, p0
16097 + move-object v1, p1
16099 + move v2, p3
16101 + move-object v3, p4
16103 + move-object v4, p5
16105 + move-object v5, p6
16107 + invoke-virtual/range {v0 .. v5}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;BLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
16109 + return-void
16110 +.end method
16112 +.method public purgeSettings()Z
16113 + .registers 4
16115 + :try_start_0
16116 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16118 + if-eqz v1, :cond_b
16120 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16122 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->purgeSettings()Z
16124 + move-result v1
16126 + :goto_a
16127 + return v1
16129 + :cond_b
16130 + const-string v1, "PrivacySettingsManager"
16132 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
16134 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16135 + :try_end_12
16136 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_14
16138 + :goto_12
16139 + const/4 v1, 0x0
16141 + goto :goto_a
16143 + :catch_14
16144 + move-exception v0
16146 + const-string v1, "PrivacySettingsManager"
16148 + const-string v2, "RemoteException in purgeSettings: "
16150 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16152 + goto :goto_12
16153 +.end method
16155 +.method public registerObservers()V
16156 + .registers 4
16158 + :try_start_0
16159 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16161 + if-eqz v1, :cond_a
16163 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16165 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->registerObservers()V
16167 + :goto_9
16168 + return-void
16170 + :cond_a
16171 + const-string v1, "PrivacySettingsManager"
16173 + const-string v2, "deleteSettings - PrivacySettingsManagerService is null"
16175 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16176 + :try_end_11
16177 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_11} :catch_12
16179 + goto :goto_9
16181 + :catch_12
16182 + move-exception v0
16184 + const-string v1, "PrivacySettingsManager"
16186 + const-string v2, "RemoteException in registerObservers: "
16188 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16190 + goto :goto_9
16191 +.end method
16193 +.method public saveSettings(Landroid/privacy/PrivacySettings;)Z
16194 + .registers 6
16196 + const/4 v1, 0x0
16198 + :try_start_1
16199 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16201 + if-eqz v2, :cond_c
16203 + iget-object v2, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16205 + invoke-interface {v2, p1}, Landroid/privacy/IPrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
16207 + move-result v1
16209 + :goto_b
16210 + return v1
16212 + :cond_c
16213 + const-string v2, "PrivacySettingsManager"
16215 + const-string/jumbo v3, "saveSettings - PrivacySettingsManagerService is null"
16217 + invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16218 + :try_end_14
16219 + .catch Landroid/os/RemoteException; {:try_start_1 .. :try_end_14} :catch_15
16221 + goto :goto_b
16223 + :catch_15
16224 + move-exception v0
16226 + const-string v2, "PrivacySettingsManager"
16228 + const-string v3, "RemoteException in saveSettings: "
16230 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16232 + goto :goto_b
16233 +.end method
16235 +.method public setBootCompleted()V
16236 + .registers 4
16238 + :try_start_0
16239 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16241 + if-eqz v1, :cond_a
16243 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16245 + invoke-interface {v1}, Landroid/privacy/IPrivacySettingsManager;->setBootCompleted()V
16247 + :goto_9
16248 + return-void
16250 + :cond_a
16251 + const-string v1, "PrivacySettingsManager"
16253 + const-string/jumbo v2, "setBootCompleted - PrivacySettingsManagerService is null"
16255 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16256 + :try_end_12
16257 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_12} :catch_13
16259 + goto :goto_9
16261 + :catch_13
16262 + move-exception v0
16264 + const-string v1, "PrivacySettingsManager"
16266 + const-string v2, "RemoteException in setBootCompleted: "
16268 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16270 + goto :goto_9
16271 +.end method
16273 +.method public setEnabled(Z)Z
16274 + .registers 5
16276 + :try_start_0
16277 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16279 + if-eqz v1, :cond_b
16281 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16283 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setEnabled(Z)Z
16285 + move-result v1
16287 + :goto_a
16288 + return v1
16290 + :cond_b
16291 + const-string v1, "PrivacySettingsManager"
16293 + const-string/jumbo v2, "setEnabled - PrivacySettingsManagerService is null"
16295 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16296 + :try_end_13
16297 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
16299 + :goto_13
16300 + const/4 v1, 0x0
16302 + goto :goto_a
16304 + :catch_15
16305 + move-exception v0
16307 + const-string v1, "PrivacySettingsManager"
16309 + const-string v2, "RemoteException in setEnabled: "
16311 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16313 + goto :goto_13
16314 +.end method
16316 +.method public setNotificationsEnabled(Z)Z
16317 + .registers 5
16319 + :try_start_0
16320 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16322 + if-eqz v1, :cond_b
16324 + iget-object v1, p0, Landroid/privacy/PrivacySettingsManager;->service:Landroid/privacy/IPrivacySettingsManager;
16326 + invoke-interface {v1, p1}, Landroid/privacy/IPrivacySettingsManager;->setNotificationsEnabled(Z)Z
16328 + move-result v1
16330 + :goto_a
16331 + return v1
16333 + :cond_b
16334 + const-string v1, "PrivacySettingsManager"
16336 + const-string/jumbo v2, "setNotificationsEnabled - PrivacySettingsManagerService is null"
16338 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
16339 + :try_end_13
16340 + .catch Landroid/os/RemoteException; {:try_start_0 .. :try_end_13} :catch_15
16342 + :goto_13
16343 + const/4 v1, 0x0
16345 + goto :goto_a
16347 + :catch_15
16348 + move-exception v0
16350 + const-string v1, "PrivacySettingsManager"
16352 + const-string v2, "RemoteException in setNotificationsEnabled: "
16354 + invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
16356 + goto :goto_13
16357 +.end method
16358 diff -Npru stock-framework/smali/android/privacy/PrivacySettings.smali ext-framework/smali/android/privacy/PrivacySettings.smali
16359 --- stock-framework/smali/android/privacy/PrivacySettings.smali 1969-12-31 18:00:00.000000000 -0600
16360 +++ ext-framework/smali/android/privacy/PrivacySettings.smali 2012-11-08 09:11:56.542841715 -0600
16361 @@ -0,0 +1,3295 @@
16362 +.class public final Landroid/privacy/PrivacySettings;
16363 +.super Ljava/lang/Object;
16364 +.source "PrivacySettings.java"
16366 +# interfaces
16367 +.implements Landroid/os/Parcelable;
16370 +# static fields
16371 +.field public static final CREATOR:Landroid/os/Parcelable$Creator; = null
16372 + .annotation system Ldalvik/annotation/Signature;
16373 + value = {
16374 + "Landroid/os/Parcelable$Creator",
16375 + "<",
16376 + "Landroid/privacy/PrivacySettings;",
16377 + ">;"
16379 + .end annotation
16380 +.end field
16382 +.field public static final CUSTOM:B = 0x2t
16384 +.field public static final DATA_ACCOUNTS_LIST:Ljava/lang/String; = "accountsList"
16386 +.field public static final DATA_ANDROID_ID:Ljava/lang/String; = "android_id"
16388 +.field public static final DATA_AUTH_TOKENS:Ljava/lang/String; = "authTokens"
16390 +.field public static final DATA_BOOKMARKS:Ljava/lang/String; = "bookmarks"
16392 +.field public static final DATA_CALENDAR:Ljava/lang/String; = "calendar"
16394 +.field public static final DATA_CALL_LOG:Ljava/lang/String; = "callLog"
16396 +.field public static final DATA_CAMERA:Ljava/lang/String; = "camera"
16398 +.field public static final DATA_CONTACTS:Ljava/lang/String; = "contacts"
16400 +.field public static final DATA_DEVICE_ID:Ljava/lang/String; = "deviceID"
16402 +.field public static final DATA_ICC_ACCESS:Ljava/lang/String; = "iccAccess"
16404 +.field public static final DATA_INCOMING_CALL:Ljava/lang/String; = "incomingCall"
16406 +.field public static final DATA_INTENT_BOOT_COMPLETED:Ljava/lang/String; = "intentBootCompleted"
16408 +.field public static final DATA_IP_TABLES:Ljava/lang/String; = "iptables"
16410 +.field public static final DATA_LINE_1_NUMBER:Ljava/lang/String; = "line1Number"
16412 +.field public static final DATA_LOCATION_GPS:Ljava/lang/String; = "locationGPS"
16414 +.field public static final DATA_LOCATION_NETWORK:Ljava/lang/String; = "locationNetwork"
16416 +.field public static final DATA_MMS:Ljava/lang/String; = "mms"
16418 +.field public static final DATA_MMS_SMS:Ljava/lang/String; = "mmsSms"
16420 +.field public static final DATA_NETWORK_INFO_CURRENT:Ljava/lang/String; = "networkInfoCurrent"
16422 +.field public static final DATA_NETWORK_INFO_SIM:Ljava/lang/String; = "networkInfoSIM"
16424 +.field public static final DATA_OUTGOING_CALL:Ljava/lang/String; = "outgoingCall"
16426 +.field public static final DATA_PHONE_CALL:Ljava/lang/String; = "phoneCall"
16428 +.field public static final DATA_RECORD_AUDIO:Ljava/lang/String; = "recordAudio"
16430 +.field public static final DATA_SEND_MMS:Ljava/lang/String; = "sendMms"
16432 +.field public static final DATA_SIM_SERIAL:Ljava/lang/String; = "simSerial"
16434 +.field public static final DATA_SMS:Ljava/lang/String; = "sms"
16436 +.field public static final DATA_SMS_SEND:Ljava/lang/String; = "SmsSend"
16438 +.field public static final DATA_SUBSCRIBER_ID:Ljava/lang/String; = "subscriberID"
16440 +.field public static final DATA_SWITCH_CONNECTIVITY:Ljava/lang/String; = "switchconnectivity"
16442 +.field public static final DATA_SWITCH_WIFI_STATE:Ljava/lang/String; = "switchWifiState"
16444 +.field public static final DATA_SYSTEM_LOGS:Ljava/lang/String; = "systemLogs"
16446 +.field public static final DATA_WIFI_INFO:Ljava/lang/String; = "wifiInfo"
16448 +.field public static final EMPTY:B = 0x1t
16450 +.field public static final ID_PATTERN:[Ljava/lang/String; = null
16452 +.field public static final RANDOM:B = 0x3t
16454 +.field public static final REAL:B = 0x0t
16456 +.field public static final SETTING_NOTIFY_OFF:B = 0x0t
16458 +.field public static final SETTING_NOTIFY_ON:B = 0x1t
16461 +# instance fields
16462 +.field private final _id:Ljava/lang/Integer;
16464 +.field private accountsAuthTokensSetting:B
16466 +.field private accountsSetting:B
16468 +.field private addOnManagementSetting:B
16470 +.field private allowedContacts:[I
16472 +.field private androidID:Ljava/lang/String;
16474 +.field private androidIdSetting:B
16476 +.field private bookmarksSetting:B
16478 +.field private calendarSetting:B
16480 +.field private callLogSetting:B
16482 +.field private cameraSetting:B
16484 +.field private contactsSetting:B
16486 +.field private deviceId:Ljava/lang/String;
16488 +.field private deviceIdSetting:B
16490 +.field private forceOnlineState:B
16492 +.field private iccAccessSetting:B
16494 +.field private incomingCallsSetting:B
16496 +.field private intentBootCompletedSetting:B
16498 +.field private ipTableProtectSetting:B
16500 +.field private line1Number:Ljava/lang/String;
16502 +.field private line1NumberSetting:B
16504 +.field private locationGpsLat:Ljava/lang/String;
16506 +.field private locationGpsLon:Ljava/lang/String;
16508 +.field private locationGpsSetting:B
16510 +.field private locationNetworkLat:Ljava/lang/String;
16512 +.field private locationNetworkLon:Ljava/lang/String;
16514 +.field private locationNetworkSetting:B
16516 +.field private mmsSetting:B
16518 +.field private networkInfoSetting:B
16520 +.field private notificationSetting:B
16522 +.field private outgoingCallsSetting:B
16524 +.field private packageName:Ljava/lang/String;
16526 +.field private phoneCallSetting:B
16528 +.field private recordAudioSetting:B
16530 +.field private sendMmsSetting:B
16532 +.field private simInfoSetting:B
16534 +.field private simSerialNumber:Ljava/lang/String;
16536 +.field private simSerialNumberSetting:B
16538 +.field private smsSendSetting:B
16540 +.field private smsSetting:B
16542 +.field private subscriberId:Ljava/lang/String;
16544 +.field private subscriberIdSetting:B
16546 +.field private switchConnectivitySetting:B
16548 +.field private switchWifiStateSetting:B
16550 +.field private systemLogsSetting:B
16552 +.field private uid:I
16554 +.field private wifiInfoSetting:B
16557 +# direct methods
16558 +.method static constructor <clinit>()V
16559 + .registers 3
16561 + const/16 v0, 0x10
16563 + new-array v0, v0, [Ljava/lang/String;
16565 + const/4 v1, 0x0
16567 + const-string v2, "0"
16569 + aput-object v2, v0, v1
16571 + const/4 v1, 0x1
16573 + const-string v2, "1"
16575 + aput-object v2, v0, v1
16577 + const/4 v1, 0x2
16579 + const-string v2, "2"
16581 + aput-object v2, v0, v1
16583 + const/4 v1, 0x3
16585 + const-string v2, "3"
16587 + aput-object v2, v0, v1
16589 + const/4 v1, 0x4
16591 + const-string v2, "4"
16593 + aput-object v2, v0, v1
16595 + const/4 v1, 0x5
16597 + const-string v2, "5"
16599 + aput-object v2, v0, v1
16601 + const/4 v1, 0x6
16603 + const-string v2, "6"
16605 + aput-object v2, v0, v1
16607 + const/4 v1, 0x7
16609 + const-string v2, "7"
16611 + aput-object v2, v0, v1
16613 + const/16 v1, 0x8
16615 + const-string v2, "8"
16617 + aput-object v2, v0, v1
16619 + const/16 v1, 0x9
16621 + const-string v2, "9"
16623 + aput-object v2, v0, v1
16625 + const/16 v1, 0xa
16627 + const-string v2, "a"
16629 + aput-object v2, v0, v1
16631 + const/16 v1, 0xb
16633 + const-string v2, "b"
16635 + aput-object v2, v0, v1
16637 + const/16 v1, 0xc
16639 + const-string v2, "c"
16641 + aput-object v2, v0, v1
16643 + const/16 v1, 0xd
16645 + const-string v2, "d"
16647 + aput-object v2, v0, v1
16649 + const/16 v1, 0xe
16651 + const-string v2, "e"
16653 + aput-object v2, v0, v1
16655 + const/16 v1, 0xf
16657 + const-string v2, "f"
16659 + aput-object v2, v0, v1
16661 + sput-object v0, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
16663 + new-instance v0, Landroid/privacy/PrivacySettings$1;
16665 + invoke-direct {v0}, Landroid/privacy/PrivacySettings$1;-><init>()V
16667 + sput-object v0, Landroid/privacy/PrivacySettings;->CREATOR:Landroid/os/Parcelable$Creator;
16669 + return-void
16670 +.end method
16672 +.method public constructor <init>(Landroid/os/Parcel;)V
16673 + .registers 4
16675 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
16677 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
16679 + move-result v0
16681 + const/4 v1, -0x1
16683 + if-ne v0, v1, :cond_122
16685 + const/4 v1, 0x0
16687 + :goto_b
16688 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
16690 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16692 + move-result-object v1
16694 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
16696 + invoke-virtual {p1}, Landroid/os/Parcel;->readInt()I
16698 + move-result v1
16700 + iput v1, p0, Landroid/privacy/PrivacySettings;->uid:I
16702 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16704 + move-result v1
16706 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
16708 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16710 + move-result-object v1
16712 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
16714 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16716 + move-result v1
16718 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
16720 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16722 + move-result-object v1
16724 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
16726 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16728 + move-result v1
16730 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
16732 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16734 + move-result-object v1
16736 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
16738 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16740 + move-result-object v1
16742 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
16744 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16746 + move-result v1
16748 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
16750 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16752 + move-result-object v1
16754 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
16756 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16758 + move-result-object v1
16760 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
16762 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16764 + move-result v1
16766 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
16768 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16770 + move-result v1
16772 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
16774 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16776 + move-result v1
16778 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
16780 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16782 + move-result-object v1
16784 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
16786 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16788 + move-result v1
16790 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
16792 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16794 + move-result-object v1
16796 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
16798 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16800 + move-result v1
16802 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
16804 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16806 + move-result v1
16808 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
16810 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16812 + move-result v1
16814 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
16816 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16818 + move-result v1
16820 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
16822 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16824 + move-result v1
16826 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
16828 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16830 + move-result v1
16832 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
16834 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16836 + move-result v1
16838 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
16840 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16842 + move-result v1
16844 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
16846 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16848 + move-result v1
16850 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
16852 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16854 + move-result v1
16856 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
16858 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16860 + move-result v1
16862 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
16864 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16866 + move-result v1
16868 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
16870 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16872 + move-result v1
16874 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
16876 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16878 + move-result v1
16880 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
16882 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16884 + move-result v1
16886 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
16888 + invoke-virtual {p1}, Landroid/os/Parcel;->createIntArray()[I
16890 + move-result-object v1
16892 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
16894 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16896 + move-result v1
16898 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
16900 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16902 + move-result v1
16904 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
16906 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16908 + move-result v1
16910 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
16912 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16914 + move-result v1
16916 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
16918 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16920 + move-result v1
16922 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
16924 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16926 + move-result v1
16928 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
16930 + invoke-virtual {p1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
16932 + move-result-object v1
16934 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
16936 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16938 + move-result v1
16940 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
16942 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16944 + move-result v1
16946 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
16948 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16950 + move-result v1
16952 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
16954 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16956 + move-result v1
16958 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
16960 + invoke-virtual {p1}, Landroid/os/Parcel;->readByte()B
16962 + move-result v1
16964 + iput-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
16966 + return-void
16968 + :cond_122
16969 + invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
16971 + move-result-object v1
16973 + goto/16 :goto_b
16974 +.end method
16976 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;I)V
16977 + .registers 7
16979 + const/4 v2, 0x1
16981 + const/4 v1, 0x0
16983 + const/4 v0, 0x0
16985 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
16987 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
16989 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
16991 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
16993 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
16995 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
16997 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
16999 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
17001 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
17003 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
17005 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
17007 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
17009 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
17011 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
17013 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
17015 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
17017 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
17019 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
17021 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
17023 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
17025 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
17027 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
17029 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
17031 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
17033 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
17035 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
17037 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
17039 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
17041 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
17043 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
17045 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
17047 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
17049 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
17051 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
17053 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
17055 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
17057 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
17059 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
17061 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
17063 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
17065 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
17067 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17069 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
17071 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
17073 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
17075 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
17077 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
17079 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
17081 + return-void
17082 +.end method
17084 +.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
17085 + .registers 50
17087 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17089 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
17091 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
17093 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
17095 + iput-byte p4, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
17097 + iput-object p5, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
17099 + iput-byte p6, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
17101 + iput-object p7, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
17103 + iput-byte p8, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
17105 + iput-object p9, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
17107 + iput-object p10, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
17109 + iput-byte p11, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
17111 + iput-object p12, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
17113 + iput-object p13, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
17115 + iput-byte p14, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
17117 + move/from16 v0, p15
17119 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
17121 + move/from16 v0, p16
17123 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
17125 + move-object/from16 v0, p17
17127 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
17129 + move/from16 v0, p18
17131 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
17133 + move-object/from16 v0, p19
17135 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
17137 + move/from16 v0, p20
17139 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
17141 + move/from16 v0, p21
17143 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
17145 + move/from16 v0, p22
17147 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
17149 + move/from16 v0, p23
17151 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
17153 + move/from16 v0, p24
17155 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
17157 + move/from16 v0, p25
17159 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
17161 + move/from16 v0, p26
17163 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
17165 + move/from16 v0, p27
17167 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
17169 + move/from16 v0, p28
17171 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
17173 + move/from16 v0, p29
17175 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
17177 + move/from16 v0, p30
17179 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
17181 + move/from16 v0, p34
17183 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
17185 + move/from16 v0, p35
17187 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
17189 + move/from16 v0, p32
17191 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
17193 + move/from16 v0, p33
17195 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
17197 + move-object/from16 v0, p36
17199 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
17201 + move/from16 v0, p37
17203 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
17205 + move/from16 v0, p38
17207 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
17209 + move/from16 v0, p39
17211 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
17213 + move/from16 v0, p40
17215 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
17217 + move/from16 v0, p41
17219 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
17221 + move/from16 v0, p42
17223 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17225 + move-object/from16 v0, p43
17227 + iput-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
17229 + move/from16 v0, p44
17231 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
17233 + move/from16 v0, p45
17235 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
17237 + move/from16 v0, p46
17239 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
17241 + move/from16 v0, p47
17243 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
17245 + move/from16 v0, p48
17247 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
17249 + return-void
17250 +.end method
17252 +.method public constructor <init>(Ljava/lang/Integer;Ljava/lang/String;IZ)V
17253 + .registers 9
17255 + const/4 v3, 0x0
17257 + const/4 v2, 0x3
17259 + const/4 v1, 0x0
17261 + const/4 v0, 0x1
17263 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
17265 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
17267 + iput-object p2, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
17269 + iput p3, p0, Landroid/privacy/PrivacySettings;->uid:I
17271 + if-eqz p4, :cond_68
17273 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
17275 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
17277 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
17279 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
17281 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
17283 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
17285 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
17287 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
17289 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
17291 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
17293 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
17295 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
17297 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
17299 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
17301 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
17303 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
17305 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
17307 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
17309 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
17311 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
17313 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
17315 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
17317 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
17319 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
17321 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
17323 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
17325 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
17327 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
17329 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
17331 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
17333 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
17335 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
17337 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
17339 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
17341 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
17343 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
17345 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
17347 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17349 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
17351 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
17353 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
17355 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
17357 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
17359 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
17361 + :goto_67
17362 + return-void
17364 + :cond_68
17365 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
17367 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
17369 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
17371 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
17373 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
17375 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
17377 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
17379 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
17381 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
17383 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
17385 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
17387 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
17389 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
17391 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
17393 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
17395 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
17397 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
17399 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
17401 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
17403 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
17405 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
17407 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
17409 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
17411 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
17413 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
17415 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
17417 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
17419 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
17421 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
17423 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
17425 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
17427 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
17429 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
17431 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
17433 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
17435 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
17437 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
17439 + iput-byte v2, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17441 + iput-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
17443 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
17445 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
17447 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
17449 + iput-byte v3, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
17451 + iput-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
17453 + goto :goto_67
17454 +.end method
17456 +.method private getRandomLat()Ljava/lang/String;
17457 + .registers 10
17459 + const-wide v7, 0x4056800000000000L
17461 + invoke-static {}, Ljava/lang/Math;->random()D
17463 + move-result-wide v3
17465 + const-wide v5, 0x4066800000000000L
17467 + mul-double v0, v3, v5
17469 + cmpl-double v3, v0, v7
17471 + if-lez v3, :cond_35
17473 + new-instance v2, Ljava/math/BigDecimal;
17475 + sub-double v3, v0, v7
17477 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
17479 + :goto_1b
17480 + new-instance v3, Ljava/lang/StringBuilder;
17482 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17484 + const/4 v4, 0x6
17486 + const/4 v5, 0x4
17488 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
17490 + move-result-object v4
17492 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17494 + move-result-object v3
17496 + const-string v4, ""
17498 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17500 + move-result-object v3
17502 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17504 + move-result-object v3
17506 + return-object v3
17508 + :cond_35
17509 + new-instance v2, Ljava/math/BigDecimal;
17511 + neg-double v3, v0
17513 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
17515 + goto :goto_1b
17516 +.end method
17518 +.method private getRandomLon()Ljava/lang/String;
17519 + .registers 10
17521 + const-wide v7, 0x4066800000000000L
17523 + invoke-static {}, Ljava/lang/Math;->random()D
17525 + move-result-wide v3
17527 + const-wide v5, 0x4076800000000000L
17529 + mul-double v0, v3, v5
17531 + cmpl-double v3, v0, v7
17533 + if-lez v3, :cond_35
17535 + new-instance v2, Ljava/math/BigDecimal;
17537 + sub-double v3, v0, v7
17539 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
17541 + :goto_1b
17542 + new-instance v3, Ljava/lang/StringBuilder;
17544 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17546 + const/4 v4, 0x6
17548 + const/4 v5, 0x4
17550 + invoke-virtual {v2, v4, v5}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
17552 + move-result-object v4
17554 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17556 + move-result-object v3
17558 + const-string v4, ""
17560 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17562 + move-result-object v3
17564 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17566 + move-result-object v3
17568 + return-object v3
17570 + :cond_35
17571 + new-instance v2, Ljava/math/BigDecimal;
17573 + neg-double v3, v0
17575 + invoke-direct {v2, v3, v4}, Ljava/math/BigDecimal;-><init>(D)V
17577 + goto :goto_1b
17578 +.end method
17581 +# virtual methods
17582 +.method public describeContents()I
17583 + .registers 2
17585 + const/4 v0, 0x0
17587 + return v0
17588 +.end method
17590 +.method public getAccountsAuthTokensSetting()B
17591 + .registers 2
17593 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
17595 + return v0
17596 +.end method
17598 +.method public getAccountsSetting()B
17599 + .registers 2
17601 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
17603 + return v0
17604 +.end method
17606 +.method public getAddOnManagementSetting()B
17607 + .registers 2
17609 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
17611 + return v0
17612 +.end method
17614 +.method public getAllowedContacts()[I
17615 + .registers 2
17617 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
17619 + return-object v0
17620 +.end method
17622 +.method public getAndroidID()Ljava/lang/String;
17623 + .registers 6
17625 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17627 + const/4 v4, 0x1
17629 + if-ne v3, v4, :cond_9
17631 + const-string/jumbo v3, "q4a5w896ay21dr46"
17633 + :goto_8
17634 + return-object v3
17636 + :cond_9
17637 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17639 + const/4 v4, 0x3
17641 + if-ne v3, v4, :cond_36
17643 + new-instance v2, Ljava/util/Random;
17645 + invoke-direct {v2}, Ljava/util/Random;-><init>()V
17647 + new-instance v1, Ljava/lang/StringBuilder;
17649 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
17651 + const/4 v0, 0x0
17653 + :goto_19
17654 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
17656 + array-length v3, v3
17658 + if-ge v0, v3, :cond_31
17660 + sget-object v3, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
17662 + sget-object v4, Landroid/privacy/PrivacySettings;->ID_PATTERN:[Ljava/lang/String;
17664 + array-length v4, v4
17666 + add-int/lit8 v4, v4, -0x1
17668 + invoke-virtual {v2, v4}, Ljava/util/Random;->nextInt(I)I
17670 + move-result v4
17672 + aget-object v3, v3, v4
17674 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17676 + add-int/lit8 v0, v0, 0x1
17678 + goto :goto_19
17680 + :cond_31
17681 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17683 + move-result-object v3
17685 + goto :goto_8
17687 + :cond_36
17688 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
17690 + goto :goto_8
17691 +.end method
17693 +.method public getAndroidIdSetting()B
17694 + .registers 2
17696 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
17698 + return v0
17699 +.end method
17701 +.method public getBookmarksSetting()B
17702 + .registers 2
17704 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
17706 + return v0
17707 +.end method
17709 +.method public getCalendarSetting()B
17710 + .registers 2
17712 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
17714 + return v0
17715 +.end method
17717 +.method public getCallLogSetting()B
17718 + .registers 2
17720 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
17722 + return v0
17723 +.end method
17725 +.method public getCameraSetting()B
17726 + .registers 2
17728 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
17730 + return v0
17731 +.end method
17733 +.method public getContactsSetting()B
17734 + .registers 2
17736 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
17738 + return v0
17739 +.end method
17741 +.method public getDeviceId()Ljava/lang/String;
17742 + .registers 9
17744 + const/4 v7, 0x0
17746 + const/16 v6, 0xf
17748 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
17750 + const/4 v4, 0x1
17752 + if-ne v3, v4, :cond_b
17754 + const-string v3, ""
17756 + :goto_a
17757 + return-object v3
17759 + :cond_b
17760 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
17762 + const/4 v4, 0x3
17764 + if-ne v3, v4, :cond_62
17766 + new-instance v1, Ljava/util/Random;
17768 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
17770 + new-instance v3, Ljava/lang/StringBuilder;
17772 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17774 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
17776 + move-result-wide v4
17778 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
17780 + move-result-wide v4
17782 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
17784 + move-result-object v3
17786 + const-string v4, ""
17788 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17790 + move-result-object v3
17792 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17794 + move-result-object v2
17796 + invoke-virtual {v2}, Ljava/lang/String;->length()I
17798 + move-result v3
17800 + if-le v3, v6, :cond_3b
17802 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
17804 + move-result-object v3
17806 + goto :goto_a
17808 + :cond_3b
17809 + invoke-virtual {v2}, Ljava/lang/String;->length()I
17811 + move-result v0
17813 + :goto_3f
17814 + const/16 v3, 0x10
17816 + if-gt v0, v3, :cond_5d
17818 + new-instance v3, Ljava/lang/StringBuilder;
17820 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17822 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17824 + move-result-object v3
17826 + const/16 v4, 0x9
17828 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
17830 + move-result v4
17832 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
17834 + move-result-object v3
17836 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17838 + move-result-object v2
17840 + add-int/lit8 v0, v0, 0x1
17842 + goto :goto_3f
17844 + :cond_5d
17845 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
17847 + move-result-object v3
17849 + goto :goto_a
17851 + :cond_62
17852 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
17854 + goto :goto_a
17855 +.end method
17857 +.method public getDeviceIdSetting()B
17858 + .registers 2
17860 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
17862 + return v0
17863 +.end method
17865 +.method public getForceOnlineState()B
17866 + .registers 2
17868 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
17870 + return v0
17871 +.end method
17873 +.method public getIccAccessSetting()B
17874 + .registers 2
17876 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
17878 + return v0
17879 +.end method
17881 +.method public getIncomingCallsSetting()B
17882 + .registers 2
17884 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
17886 + return v0
17887 +.end method
17889 +.method public getIntentBootCompletedSetting()B
17890 + .registers 2
17892 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
17894 + return v0
17895 +.end method
17897 +.method public getIpTableProtectSetting()B
17898 + .registers 2
17900 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
17902 + return v0
17903 +.end method
17905 +.method public getLine1Number()Ljava/lang/String;
17906 + .registers 9
17908 + const/4 v7, 0x0
17910 + const/16 v6, 0xd
17912 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
17914 + const/4 v4, 0x1
17916 + if-ne v3, v4, :cond_b
17918 + const-string v3, ""
17920 + :goto_a
17921 + return-object v3
17923 + :cond_b
17924 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
17926 + const/4 v4, 0x3
17928 + if-ne v3, v4, :cond_68
17930 + new-instance v1, Ljava/util/Random;
17932 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
17934 + new-instance v3, Ljava/lang/StringBuilder;
17936 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17938 + const-string v4, "+"
17940 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17942 + move-result-object v3
17944 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
17946 + move-result-wide v4
17948 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
17950 + move-result-wide v4
17952 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
17954 + move-result-object v3
17956 + const-string v4, ""
17958 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17960 + move-result-object v3
17962 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
17964 + move-result-object v2
17966 + invoke-virtual {v2}, Ljava/lang/String;->length()I
17968 + move-result v3
17970 + if-le v3, v6, :cond_41
17972 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
17974 + move-result-object v3
17976 + goto :goto_a
17978 + :cond_41
17979 + invoke-virtual {v2}, Ljava/lang/String;->length()I
17981 + move-result v0
17983 + :goto_45
17984 + const/16 v3, 0xe
17986 + if-gt v0, v3, :cond_63
17988 + new-instance v3, Ljava/lang/StringBuilder;
17990 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
17992 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
17994 + move-result-object v3
17996 + const/16 v4, 0x9
17998 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
18000 + move-result v4
18002 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18004 + move-result-object v3
18006 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18008 + move-result-object v2
18010 + add-int/lit8 v0, v0, 0x1
18012 + goto :goto_45
18014 + :cond_63
18015 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
18017 + move-result-object v3
18019 + goto :goto_a
18021 + :cond_68
18022 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18024 + goto :goto_a
18025 +.end method
18027 +.method public getLine1NumberSetting()B
18028 + .registers 2
18030 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18032 + return v0
18033 +.end method
18035 +.method public getLocationGpsLat()Ljava/lang/String;
18036 + .registers 3
18038 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18040 + const/4 v1, 0x1
18042 + if-ne v0, v1, :cond_8
18044 + const-string v0, ""
18046 + :goto_7
18047 + return-object v0
18049 + :cond_8
18050 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18052 + const/4 v1, 0x3
18054 + if-ne v0, v1, :cond_12
18056 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
18058 + move-result-object v0
18060 + goto :goto_7
18062 + :cond_12
18063 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18065 + goto :goto_7
18066 +.end method
18068 +.method public getLocationGpsLon()Ljava/lang/String;
18069 + .registers 3
18071 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18073 + const/4 v1, 0x1
18075 + if-ne v0, v1, :cond_8
18077 + const-string v0, ""
18079 + :goto_7
18080 + return-object v0
18082 + :cond_8
18083 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18085 + const/4 v1, 0x3
18087 + if-ne v0, v1, :cond_12
18089 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
18091 + move-result-object v0
18093 + goto :goto_7
18095 + :cond_12
18096 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18098 + goto :goto_7
18099 +.end method
18101 +.method public getLocationGpsSetting()B
18102 + .registers 2
18104 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18106 + return v0
18107 +.end method
18109 +.method public getLocationNetworkLat()Ljava/lang/String;
18110 + .registers 3
18112 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18114 + const/4 v1, 0x1
18116 + if-ne v0, v1, :cond_8
18118 + const-string v0, ""
18120 + :goto_7
18121 + return-object v0
18123 + :cond_8
18124 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18126 + const/4 v1, 0x3
18128 + if-ne v0, v1, :cond_12
18130 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLat()Ljava/lang/String;
18132 + move-result-object v0
18134 + goto :goto_7
18136 + :cond_12
18137 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18139 + goto :goto_7
18140 +.end method
18142 +.method public getLocationNetworkLon()Ljava/lang/String;
18143 + .registers 3
18145 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18147 + const/4 v1, 0x1
18149 + if-ne v0, v1, :cond_8
18151 + const-string v0, ""
18153 + :goto_7
18154 + return-object v0
18156 + :cond_8
18157 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18159 + const/4 v1, 0x3
18161 + if-ne v0, v1, :cond_12
18163 + invoke-direct {p0}, Landroid/privacy/PrivacySettings;->getRandomLon()Ljava/lang/String;
18165 + move-result-object v0
18167 + goto :goto_7
18169 + :cond_12
18170 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18172 + goto :goto_7
18173 +.end method
18175 +.method public getLocationNetworkSetting()B
18176 + .registers 2
18178 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18180 + return v0
18181 +.end method
18183 +.method public getMmsSetting()B
18184 + .registers 2
18186 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18188 + return v0
18189 +.end method
18191 +.method public getNetworkInfoSetting()B
18192 + .registers 2
18194 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18196 + return v0
18197 +.end method
18199 +.method public getNotificationSetting()B
18200 + .registers 2
18202 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18204 + return v0
18205 +.end method
18207 +.method public getOutgoingCallsSetting()B
18208 + .registers 2
18210 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18212 + return v0
18213 +.end method
18215 +.method public getPackageName()Ljava/lang/String;
18216 + .registers 2
18218 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18220 + return-object v0
18221 +.end method
18223 +.method public getPhoneCallSetting()B
18224 + .registers 2
18226 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18228 + return v0
18229 +.end method
18231 +.method public getRecordAudioSetting()B
18232 + .registers 2
18234 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18236 + return v0
18237 +.end method
18239 +.method public getSendMmsSetting()B
18240 + .registers 2
18242 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18244 + return v0
18245 +.end method
18247 +.method public getSimInfoSetting()B
18248 + .registers 2
18250 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18252 + return v0
18253 +.end method
18255 +.method public getSimSerialNumber()Ljava/lang/String;
18256 + .registers 5
18258 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18260 + const/4 v2, 0x1
18262 + if-ne v1, v2, :cond_8
18264 + const-string v1, ""
18266 + :goto_7
18267 + return-object v1
18269 + :cond_8
18270 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18272 + const/4 v2, 0x3
18274 + if-ne v1, v2, :cond_2e
18276 + new-instance v0, Ljava/util/Random;
18278 + invoke-direct {v0}, Ljava/util/Random;-><init>()V
18280 + new-instance v1, Ljava/lang/StringBuilder;
18282 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
18284 + invoke-virtual {v0}, Ljava/util/Random;->nextLong()J
18286 + move-result-wide v2
18288 + invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J
18290 + move-result-wide v2
18292 + invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
18294 + move-result-object v1
18296 + const-string v2, ""
18298 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18300 + move-result-object v1
18302 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18304 + move-result-object v1
18306 + goto :goto_7
18308 + :cond_2e
18309 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18311 + goto :goto_7
18312 +.end method
18314 +.method public getSimSerialNumberSetting()B
18315 + .registers 2
18317 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18319 + return v0
18320 +.end method
18322 +.method public getSmsSendSetting()B
18323 + .registers 2
18325 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18327 + return v0
18328 +.end method
18330 +.method public getSmsSetting()B
18331 + .registers 2
18333 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18335 + return v0
18336 +.end method
18338 +.method public getSubscriberId()Ljava/lang/String;
18339 + .registers 9
18341 + const/4 v7, 0x0
18343 + const/16 v6, 0xf
18345 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18347 + const/4 v4, 0x1
18349 + if-ne v3, v4, :cond_b
18351 + const-string v3, ""
18353 + :goto_a
18354 + return-object v3
18356 + :cond_b
18357 + iget-byte v3, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18359 + const/4 v4, 0x3
18361 + if-ne v3, v4, :cond_62
18363 + new-instance v1, Ljava/util/Random;
18365 + invoke-direct {v1}, Ljava/util/Random;-><init>()V
18367 + new-instance v3, Ljava/lang/StringBuilder;
18369 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
18371 + invoke-virtual {v1}, Ljava/util/Random;->nextLong()J
18373 + move-result-wide v4
18375 + invoke-static {v4, v5}, Ljava/lang/Math;->abs(J)J
18377 + move-result-wide v4
18379 + invoke-virtual {v3, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
18381 + move-result-object v3
18383 + const-string v4, ""
18385 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18387 + move-result-object v3
18389 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18391 + move-result-object v2
18393 + invoke-virtual {v2}, Ljava/lang/String;->length()I
18395 + move-result v3
18397 + if-le v3, v6, :cond_3b
18399 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
18401 + move-result-object v3
18403 + goto :goto_a
18405 + :cond_3b
18406 + invoke-virtual {v2}, Ljava/lang/String;->length()I
18408 + move-result v0
18410 + :goto_3f
18411 + const/16 v3, 0x10
18413 + if-gt v0, v3, :cond_5d
18415 + new-instance v3, Ljava/lang/StringBuilder;
18417 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
18419 + invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18421 + move-result-object v3
18423 + const/16 v4, 0x9
18425 + invoke-virtual {v1, v4}, Ljava/util/Random;->nextInt(I)I
18427 + move-result v4
18429 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18431 + move-result-object v3
18433 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
18435 + move-result-object v2
18437 + add-int/lit8 v0, v0, 0x1
18439 + goto :goto_3f
18441 + :cond_5d
18442 + invoke-virtual {v2, v7, v6}, Ljava/lang/String;->substring(II)Ljava/lang/String;
18444 + move-result-object v3
18446 + goto :goto_a
18448 + :cond_62
18449 + iget-object v3, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18451 + goto :goto_a
18452 +.end method
18454 +.method public getSubscriberIdSetting()B
18455 + .registers 2
18457 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18459 + return v0
18460 +.end method
18462 +.method public getSwitchConnectivitySetting()B
18463 + .registers 2
18465 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18467 + return v0
18468 +.end method
18470 +.method public getSwitchWifiStateSetting()B
18471 + .registers 2
18473 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
18475 + return v0
18476 +.end method
18478 +.method public getSystemLogsSetting()B
18479 + .registers 2
18481 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18483 + return v0
18484 +.end method
18486 +.method public getUid()I
18487 + .registers 2
18489 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
18491 + return v0
18492 +.end method
18494 +.method public getWifiInfoSetting()B
18495 + .registers 2
18497 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18499 + return v0
18500 +.end method
18502 +.method public get_id()Ljava/lang/Integer;
18503 + .registers 2
18505 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18507 + return-object v0
18508 +.end method
18510 +.method public setAccountsAuthTokensSetting(B)V
18511 + .registers 2
18513 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18515 + return-void
18516 +.end method
18518 +.method public setAccountsSetting(B)V
18519 + .registers 2
18521 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18523 + return-void
18524 +.end method
18526 +.method public setAddOnManagementSetting(B)V
18527 + .registers 2
18529 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
18531 + return-void
18532 +.end method
18534 +.method public setAllowedContacts([I)V
18535 + .registers 2
18537 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
18539 + return-void
18540 +.end method
18542 +.method public setAndroidID(Ljava/lang/String;)V
18543 + .registers 2
18545 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
18547 + return-void
18548 +.end method
18550 +.method public setAndroidIdSetting(B)V
18551 + .registers 2
18553 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
18555 + return-void
18556 +.end method
18558 +.method public setBookmarksSetting(B)V
18559 + .registers 2
18561 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18563 + return-void
18564 +.end method
18566 +.method public setCalendarSetting(B)V
18567 + .registers 2
18569 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18571 + return-void
18572 +.end method
18574 +.method public setCallLogSetting(B)V
18575 + .registers 2
18577 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18579 + return-void
18580 +.end method
18582 +.method public setCameraSetting(B)V
18583 + .registers 2
18585 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
18587 + return-void
18588 +.end method
18590 +.method public setContactsSetting(B)V
18591 + .registers 2
18593 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18595 + return-void
18596 +.end method
18598 +.method public setDeviceId(Ljava/lang/String;)V
18599 + .registers 2
18601 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18603 + return-void
18604 +.end method
18606 +.method public setDeviceIdSetting(B)V
18607 + .registers 2
18609 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18611 + return-void
18612 +.end method
18614 +.method public setForceOnlineState(B)V
18615 + .registers 2
18617 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
18619 + return-void
18620 +.end method
18622 +.method public setIccAccessSetting(B)V
18623 + .registers 2
18625 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
18627 + return-void
18628 +.end method
18630 +.method public setIncomingCallsSetting(B)V
18631 + .registers 2
18633 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
18635 + return-void
18636 +.end method
18638 +.method public setIntentBootCompletedSetting(B)V
18639 + .registers 2
18641 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
18643 + return-void
18644 +.end method
18646 +.method public setIpTableProtectSetting(B)V
18647 + .registers 2
18649 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
18651 + return-void
18652 +.end method
18654 +.method public setLine1Number(Ljava/lang/String;)V
18655 + .registers 2
18657 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
18659 + return-void
18660 +.end method
18662 +.method public setLine1NumberSetting(B)V
18663 + .registers 2
18665 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
18667 + return-void
18668 +.end method
18670 +.method public setLocationGpsLat(Ljava/lang/String;)V
18671 + .registers 2
18673 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
18675 + return-void
18676 +.end method
18678 +.method public setLocationGpsLon(Ljava/lang/String;)V
18679 + .registers 2
18681 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
18683 + return-void
18684 +.end method
18686 +.method public setLocationGpsSetting(B)V
18687 + .registers 2
18689 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
18691 + return-void
18692 +.end method
18694 +.method public setLocationNetworkLat(Ljava/lang/String;)V
18695 + .registers 2
18697 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
18699 + return-void
18700 +.end method
18702 +.method public setLocationNetworkLon(Ljava/lang/String;)V
18703 + .registers 2
18705 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
18707 + return-void
18708 +.end method
18710 +.method public setLocationNetworkSetting(B)V
18711 + .registers 2
18713 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
18715 + return-void
18716 +.end method
18718 +.method public setMmsSetting(B)V
18719 + .registers 2
18721 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
18723 + return-void
18724 +.end method
18726 +.method public setNetworkInfoSetting(B)V
18727 + .registers 2
18729 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
18731 + return-void
18732 +.end method
18734 +.method public setNotificationSetting(B)V
18735 + .registers 2
18737 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
18739 + return-void
18740 +.end method
18742 +.method public setOutgoingCallsSetting(B)V
18743 + .registers 2
18745 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
18747 + return-void
18748 +.end method
18750 +.method public setPackageName(Ljava/lang/String;)V
18751 + .registers 2
18753 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
18755 + return-void
18756 +.end method
18758 +.method public setPhoneCallSetting(B)V
18759 + .registers 2
18761 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
18763 + return-void
18764 +.end method
18766 +.method public setRecordAudioSetting(B)V
18767 + .registers 2
18769 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
18771 + return-void
18772 +.end method
18774 +.method public setSendMmsSetting(B)V
18775 + .registers 2
18777 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
18779 + return-void
18780 +.end method
18782 +.method public setSimInfoSetting(B)V
18783 + .registers 2
18785 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
18787 + return-void
18788 +.end method
18790 +.method public setSimSerialNumber(Ljava/lang/String;)V
18791 + .registers 2
18793 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
18795 + return-void
18796 +.end method
18798 +.method public setSimSerialNumberSetting(B)V
18799 + .registers 2
18801 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
18803 + return-void
18804 +.end method
18806 +.method public setSmsSendSetting(B)V
18807 + .registers 2
18809 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
18811 + return-void
18812 +.end method
18814 +.method public setSmsSetting(B)V
18815 + .registers 2
18817 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
18819 + return-void
18820 +.end method
18822 +.method public setSubscriberId(Ljava/lang/String;)V
18823 + .registers 2
18825 + iput-object p1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
18827 + return-void
18828 +.end method
18830 +.method public setSubscriberIdSetting(B)V
18831 + .registers 2
18833 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
18835 + return-void
18836 +.end method
18838 +.method public setSwitchConnectivitySetting(B)V
18839 + .registers 2
18841 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
18843 + return-void
18844 +.end method
18846 +.method public setSwitchWifiStateSetting(B)V
18847 + .registers 2
18849 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
18851 + return-void
18852 +.end method
18854 +.method public setSystemLogsSetting(B)V
18855 + .registers 2
18857 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
18859 + return-void
18860 +.end method
18862 +.method public setUid(I)V
18863 + .registers 2
18865 + iput p1, p0, Landroid/privacy/PrivacySettings;->uid:I
18867 + return-void
18868 +.end method
18870 +.method public setWifiInfoSetting(B)V
18871 + .registers 2
18873 + iput-byte p1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
18875 + return-void
18876 +.end method
18878 +.method public toString()Ljava/lang/String;
18879 + .registers 3
18881 + new-instance v0, Ljava/lang/StringBuilder;
18883 + invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
18885 + const-string v1, "PrivacySettings [_id="
18887 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18889 + move-result-object v0
18891 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
18893 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
18895 + move-result-object v0
18897 + const-string v1, ", accountsAuthTokensSetting="
18899 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18901 + move-result-object v0
18903 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
18905 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18907 + move-result-object v0
18909 + const-string v1, ", accountsSetting="
18911 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18913 + move-result-object v0
18915 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
18917 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18919 + move-result-object v0
18921 + const-string v1, ", bookmarksSetting="
18923 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18925 + move-result-object v0
18927 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
18929 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18931 + move-result-object v0
18933 + const-string v1, ", calendarSetting="
18935 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18937 + move-result-object v0
18939 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
18941 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18943 + move-result-object v0
18945 + const-string v1, ", callLogSetting="
18947 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18949 + move-result-object v0
18951 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
18953 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18955 + move-result-object v0
18957 + const-string v1, ", contactsSetting="
18959 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18961 + move-result-object v0
18963 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
18965 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18967 + move-result-object v0
18969 + const-string v1, ", deviceId="
18971 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18973 + move-result-object v0
18975 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
18977 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18979 + move-result-object v0
18981 + const-string v1, ", deviceIdSetting="
18983 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18985 + move-result-object v0
18987 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
18989 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
18991 + move-result-object v0
18993 + const-string v1, ", incomingCallsSetting="
18995 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
18997 + move-result-object v0
18999 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19001 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19003 + move-result-object v0
19005 + const-string v1, ", intentBootCompletedSetting="
19007 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19009 + move-result-object v0
19011 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19013 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19015 + move-result-object v0
19017 + const-string v1, ", line1Number="
19019 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19021 + move-result-object v0
19023 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19025 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19027 + move-result-object v0
19029 + const-string v1, ", line1NumberSetting="
19031 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19033 + move-result-object v0
19035 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19037 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19039 + move-result-object v0
19041 + const-string v1, ", locationGpsLat="
19043 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19045 + move-result-object v0
19047 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19049 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19051 + move-result-object v0
19053 + const-string v1, ", locationGpsLon="
19055 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19057 + move-result-object v0
19059 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19061 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19063 + move-result-object v0
19065 + const-string v1, ", locationGpsSetting="
19067 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19069 + move-result-object v0
19071 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19073 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19075 + move-result-object v0
19077 + const-string v1, ", locationNetworkLat="
19079 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19081 + move-result-object v0
19083 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19085 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19087 + move-result-object v0
19089 + const-string v1, ", locationNetworkLon="
19091 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19093 + move-result-object v0
19095 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19097 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19099 + move-result-object v0
19101 + const-string v1, ", locationNetworkSetting="
19103 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19105 + move-result-object v0
19107 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19109 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19111 + move-result-object v0
19113 + const-string v1, ", mmsSetting="
19115 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19117 + move-result-object v0
19119 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19121 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19123 + move-result-object v0
19125 + const-string v1, ", networkInfoSetting="
19127 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19129 + move-result-object v0
19131 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19133 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19135 + move-result-object v0
19137 + const-string v1, ", notificationSetting="
19139 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19141 + move-result-object v0
19143 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19145 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19147 + move-result-object v0
19149 + const-string v1, ", outgoingCallsSetting="
19151 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19153 + move-result-object v0
19155 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19157 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19159 + move-result-object v0
19161 + const-string v1, ", packageName="
19163 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19165 + move-result-object v0
19167 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19169 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19171 + move-result-object v0
19173 + const-string v1, ", simInfoSetting="
19175 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19177 + move-result-object v0
19179 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19181 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19183 + move-result-object v0
19185 + const-string v1, ", simSerialNumber="
19187 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19189 + move-result-object v0
19191 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19193 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19195 + move-result-object v0
19197 + const-string v1, ", simSerialNumberSetting="
19199 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19201 + move-result-object v0
19203 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19205 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19207 + move-result-object v0
19209 + const-string v1, ", smsSetting="
19211 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19213 + move-result-object v0
19215 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19217 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19219 + move-result-object v0
19221 + const-string v1, ", subscriberId="
19223 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19225 + move-result-object v0
19227 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19229 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19231 + move-result-object v0
19233 + const-string v1, ", subscriberIdSetting="
19235 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19237 + move-result-object v0
19239 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19241 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19243 + move-result-object v0
19245 + const-string v1, ", systemLogsSetting="
19247 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19249 + move-result-object v0
19251 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19253 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19255 + move-result-object v0
19257 + const-string v1, ", uid="
19259 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19261 + move-result-object v0
19263 + iget v1, p0, Landroid/privacy/PrivacySettings;->uid:I
19265 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19267 + move-result-object v0
19269 + const-string v1, ", phoneCallSetting="
19271 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19273 + move-result-object v0
19275 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19277 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19279 + move-result-object v0
19281 + const-string v1, ", smsSendSetting="
19283 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19285 + move-result-object v0
19287 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19289 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19291 + move-result-object v0
19293 + const-string v1, ", recordAudioSetting="
19295 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19297 + move-result-object v0
19299 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19301 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19303 + move-result-object v0
19305 + const-string v1, ", cameraSetting="
19307 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19309 + move-result-object v0
19311 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19313 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19315 + move-result-object v0
19317 + const-string v1, ", ipTableProtectSetting="
19319 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19321 + move-result-object v0
19323 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19325 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19327 + move-result-object v0
19329 + const-string v1, ", iccAccessSetting="
19331 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19333 + move-result-object v0
19335 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19337 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19339 + move-result-object v0
19341 + const-string v1, ", addOnManagementSetting="
19343 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19345 + move-result-object v0
19347 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19349 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19351 + move-result-object v0
19353 + const-string v1, ", android ID="
19355 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19357 + move-result-object v0
19359 + iget-object v1, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19361 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19363 + move-result-object v0
19365 + const-string v1, ", androidIdSetting="
19367 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19369 + move-result-object v0
19371 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19373 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19375 + move-result-object v0
19377 + const-string v1, ", wifiInfoSetting="
19379 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19381 + move-result-object v0
19383 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19385 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19387 + move-result-object v0
19389 + const-string v1, ", switchConnectivitySetting="
19391 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19393 + move-result-object v0
19395 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19397 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19399 + move-result-object v0
19401 + const-string v1, ", sendMmsSetting="
19403 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19405 + move-result-object v0
19407 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19409 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19411 + move-result-object v0
19413 + const-string v1, ", forceOnlineState="
19415 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19417 + move-result-object v0
19419 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19421 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19423 + move-result-object v0
19425 + const-string v1, ", switchWifiStateSetting="
19427 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19429 + move-result-object v0
19431 + iget-byte v1, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19433 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
19435 + move-result-object v0
19437 + const-string v1, "]"
19439 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
19441 + move-result-object v0
19443 + invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
19445 + move-result-object v0
19447 + return-object v0
19448 +.end method
19450 +.method public writeToParcel(Landroid/os/Parcel;I)V
19451 + .registers 4
19453 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19455 + if-nez v0, :cond_ef
19457 + const/4 v0, -0x1
19459 + :goto_5
19460 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
19462 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->packageName:Ljava/lang/String;
19464 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19466 + iget v0, p0, Landroid/privacy/PrivacySettings;->uid:I
19468 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeInt(I)V
19470 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->deviceIdSetting:B
19472 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19474 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->deviceId:Ljava/lang/String;
19476 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19478 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->line1NumberSetting:B
19480 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19482 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->line1Number:Ljava/lang/String;
19484 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19486 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationGpsSetting:B
19488 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19490 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLat:Ljava/lang/String;
19492 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19494 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationGpsLon:Ljava/lang/String;
19496 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19498 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkSetting:B
19500 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19502 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLat:Ljava/lang/String;
19504 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19506 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->locationNetworkLon:Ljava/lang/String;
19508 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19510 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->networkInfoSetting:B
19512 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19514 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simInfoSetting:B
19516 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19518 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumberSetting:B
19520 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19522 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->simSerialNumber:Ljava/lang/String;
19524 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19526 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->subscriberIdSetting:B
19528 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19530 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->subscriberId:Ljava/lang/String;
19532 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19534 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsSetting:B
19536 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19538 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->accountsAuthTokensSetting:B
19540 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19542 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->outgoingCallsSetting:B
19544 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19546 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->incomingCallsSetting:B
19548 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19550 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->contactsSetting:B
19552 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19554 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->calendarSetting:B
19556 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19558 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->mmsSetting:B
19560 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19562 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSetting:B
19564 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19566 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->callLogSetting:B
19568 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19570 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->bookmarksSetting:B
19572 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19574 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->systemLogsSetting:B
19576 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19578 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->notificationSetting:B
19580 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19582 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->intentBootCompletedSetting:B
19584 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19586 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->cameraSetting:B
19588 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19590 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->recordAudioSetting:B
19592 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19594 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->allowedContacts:[I
19596 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeIntArray([I)V
19598 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->smsSendSetting:B
19600 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19602 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->phoneCallSetting:B
19604 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19606 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->ipTableProtectSetting:B
19608 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19610 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->iccAccessSetting:B
19612 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19614 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->addOnManagementSetting:B
19616 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19618 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->androidIdSetting:B
19620 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19622 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->androidID:Ljava/lang/String;
19624 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
19626 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->wifiInfoSetting:B
19628 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19630 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchConnectivitySetting:B
19632 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19634 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->sendMmsSetting:B
19636 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19638 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->forceOnlineState:B
19640 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19642 + iget-byte v0, p0, Landroid/privacy/PrivacySettings;->switchWifiStateSetting:B
19644 + invoke-virtual {p1, v0}, Landroid/os/Parcel;->writeByte(B)V
19646 + return-void
19648 + :cond_ef
19649 + iget-object v0, p0, Landroid/privacy/PrivacySettings;->_id:Ljava/lang/Integer;
19651 + invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
19653 + move-result v0
19655 + goto/16 :goto_5
19656 +.end method
19657 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali ext-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali
19658 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 1969-12-31 18:00:00.000000000 -0600
19659 +++ ext-framework/smali/android/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture.smali 2012-11-08 09:11:56.542841715 -0600
19660 @@ -0,0 +1,129 @@
19661 +.class Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
19662 +.super Ljava/lang/Object;
19663 +.source "PrivacyAccountManager.java"
19665 +# interfaces
19666 +.implements Landroid/accounts/AccountManagerFuture;
19669 +# annotations
19670 +.annotation system Ldalvik/annotation/EnclosingClass;
19671 + value = Landroid/privacy/surrogate/PrivacyAccountManager;
19672 +.end annotation
19674 +.annotation system Ldalvik/annotation/InnerClass;
19675 + accessFlags = 0x2
19676 + name = "PrivacyAccountManagerFuture"
19677 +.end annotation
19679 +.annotation system Ldalvik/annotation/Signature;
19680 + value = {
19681 + "<V:",
19682 + "Ljava/lang/Object;",
19683 + ">",
19684 + "Ljava/lang/Object;",
19685 + "Landroid/accounts/AccountManagerFuture",
19686 + "<TV;>;"
19688 +.end annotation
19691 +# instance fields
19692 +.field private result:Ljava/lang/Object;
19693 + .annotation system Ldalvik/annotation/Signature;
19694 + value = {
19695 + "TV;"
19697 + .end annotation
19698 +.end field
19700 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
19703 +# direct methods
19704 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
19705 + .registers 3
19706 + .annotation system Ldalvik/annotation/Signature;
19707 + value = {
19708 + "(TV;)V"
19710 + .end annotation
19712 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->this$0:Landroid/privacy/surrogate/PrivacyAccountManager;
19714 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
19716 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
19718 + return-void
19719 +.end method
19722 +# virtual methods
19723 +.method public cancel(Z)Z
19724 + .registers 3
19726 + const/4 v0, 0x0
19728 + return v0
19729 +.end method
19731 +.method public getResult()Ljava/lang/Object;
19732 + .registers 2
19733 + .annotation system Ldalvik/annotation/Signature;
19734 + value = {
19735 + "()TV;"
19737 + .end annotation
19739 + .annotation system Ldalvik/annotation/Throws;
19740 + value = {
19741 + Landroid/accounts/OperationCanceledException;,
19742 + Ljava/io/IOException;,
19743 + Landroid/accounts/AuthenticatorException;
19745 + .end annotation
19747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
19749 + return-object v0
19750 +.end method
19752 +.method public getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
19753 + .registers 5
19754 + .annotation system Ldalvik/annotation/Signature;
19755 + value = {
19756 + "(J",
19757 + "Ljava/util/concurrent/TimeUnit;",
19758 + ")TV;"
19760 + .end annotation
19762 + .annotation system Ldalvik/annotation/Throws;
19763 + value = {
19764 + Landroid/accounts/OperationCanceledException;,
19765 + Ljava/io/IOException;,
19766 + Landroid/accounts/AuthenticatorException;
19768 + .end annotation
19770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;->result:Ljava/lang/Object;
19772 + return-object v0
19773 +.end method
19775 +.method public isCancelled()Z
19776 + .registers 2
19778 + const/4 v0, 0x0
19780 + return v0
19781 +.end method
19783 +.method public isDone()Z
19784 + .registers 2
19786 + const/4 v0, 0x1
19788 + return v0
19789 +.end method
19790 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali ext-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali
19791 --- stock-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 1969-12-31 18:00:00.000000000 -0600
19792 +++ ext-framework/smali/android/privacy/surrogate/PrivacyAccountManager.smali 2012-11-08 09:11:56.546841730 -0600
19793 @@ -0,0 +1,701 @@
19794 +.class public final Landroid/privacy/surrogate/PrivacyAccountManager;
19795 +.super Landroid/accounts/AccountManager;
19796 +.source "PrivacyAccountManager.java"
19799 +# annotations
19800 +.annotation system Ldalvik/annotation/MemberClasses;
19801 + value = {
19802 + Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
19804 +.end annotation
19807 +# static fields
19808 +.field private static final TAG:Ljava/lang/String; = "PrivacyAccountManager"
19811 +# instance fields
19812 +.field private context:Landroid/content/Context;
19814 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
19817 +# direct methods
19818 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
19819 + .registers 5
19821 + invoke-direct {p0, p1, p2}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
19823 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
19825 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
19827 + const-string/jumbo v1, "privacy"
19829 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19831 + move-result-object v1
19833 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
19835 + move-result-object v1
19837 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
19839 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19841 + return-void
19842 +.end method
19844 +.method public constructor <init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
19845 + .registers 6
19847 + invoke-direct {p0, p1, p2, p3}, Landroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;Landroid/os/Handler;)V
19849 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
19851 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
19853 + const-string/jumbo v1, "privacy"
19855 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
19857 + move-result-object v1
19859 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
19861 + move-result-object v1
19863 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
19865 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19867 + return-void
19868 +.end method
19871 +# virtual methods
19872 +.method public blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
19873 + .registers 12
19874 + .annotation system Ldalvik/annotation/Throws;
19875 + value = {
19876 + Landroid/accounts/OperationCanceledException;,
19877 + Ljava/io/IOException;,
19878 + Landroid/accounts/AuthenticatorException;
19880 + .end annotation
19882 + const/4 v5, 0x0
19884 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
19886 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
19888 + move-result-object v1
19890 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
19892 + move-result v2
19894 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19896 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
19898 + move-result-object v6
19900 + if-eqz v6, :cond_23
19902 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
19904 + move-result v0
19906 + if-eqz v0, :cond_23
19908 + const/4 v7, 0x0
19910 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19912 + const/4 v3, 0x1
19914 + const-string v4, "authTokens"
19916 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19918 + :goto_22
19919 + return-object v7
19921 + :cond_23
19922 + invoke-super {p0, p1, p2, p3}, Landroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
19924 + move-result-object v7
19926 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19928 + const/4 v3, 0x0
19930 + const-string v4, "authTokens"
19932 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19934 + goto :goto_22
19935 +.end method
19937 +.method public getAccounts()[Landroid/accounts/Account;
19938 + .registers 10
19940 + const/4 v5, 0x0
19942 + const/4 v3, 0x0
19944 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
19946 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
19948 + move-result-object v1
19950 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
19952 + move-result v2
19954 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19956 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
19958 + move-result-object v6
19960 + if-eqz v6, :cond_27
19962 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
19964 + move-result v0
19966 + if-eqz v0, :cond_27
19968 + const-string v8, "[empty accounts list]"
19970 + new-array v7, v3, [Landroid/accounts/Account;
19972 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19974 + const/4 v3, 0x1
19976 + const-string v4, "accountsList"
19978 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19980 + :goto_26
19981 + return-object v7
19983 + :cond_27
19984 + const-string v8, "[real value]"
19986 + invoke-super {p0}, Landroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
19988 + move-result-object v7
19990 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
19992 + const-string v4, "accountsList"
19994 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
19996 + goto :goto_26
19997 +.end method
19999 +.method public getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
20000 + .registers 11
20002 + const/4 v5, 0x0
20004 + const/4 v3, 0x0
20006 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
20008 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20010 + move-result-object v1
20012 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20014 + move-result v2
20016 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20018 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20020 + move-result-object v6
20022 + if-eqz v6, :cond_27
20024 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
20026 + move-result v0
20028 + if-eqz v0, :cond_27
20030 + const-string v8, "[empty accounts list]"
20032 + new-array v7, v3, [Landroid/accounts/Account;
20034 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20036 + const/4 v3, 0x1
20038 + const-string v4, "accountsList"
20040 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20042 + :goto_26
20043 + return-object v7
20045 + :cond_27
20046 + const-string v8, "[real value]"
20048 + invoke-super {p0, p1}, Landroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
20050 + move-result-object v7
20052 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20054 + const-string v4, "accountsList"
20056 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20058 + goto :goto_26
20059 +.end method
20061 +.method public getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
20062 + .registers 14
20063 + .annotation system Ldalvik/annotation/Signature;
20064 + value = {
20065 + "(",
20066 + "Ljava/lang/String;",
20067 + "[",
20068 + "Ljava/lang/String;",
20069 + "Landroid/accounts/AccountManagerCallback",
20070 + "<[",
20071 + "Landroid/accounts/Account;",
20072 + ">;",
20073 + "Landroid/os/Handler;",
20074 + ")",
20075 + "Landroid/accounts/AccountManagerFuture",
20076 + "<[",
20077 + "Landroid/accounts/Account;",
20078 + ">;"
20080 + .end annotation
20082 + const/4 v5, 0x0
20084 + const/4 v3, 0x0
20086 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
20088 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20090 + move-result-object v1
20092 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20094 + move-result v2
20096 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20098 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20100 + move-result-object v6
20102 + if-eqz v6, :cond_2c
20104 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
20106 + move-result v0
20108 + if-eqz v0, :cond_2c
20110 + const-string v8, "[false]"
20112 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
20114 + new-array v0, v3, [Landroid/accounts/Account;
20116 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
20118 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20120 + const/4 v3, 0x1
20122 + const-string v4, "accountsList"
20124 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20126 + :goto_2b
20127 + return-object v7
20129 + :cond_2c
20130 + const-string v8, "[real value]"
20132 + 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;
20134 + move-result-object v7
20136 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20138 + const-string v4, "accountsList"
20140 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20142 + goto :goto_2b
20143 +.end method
20145 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
20146 + .registers 16
20147 + .annotation system Ldalvik/annotation/Signature;
20148 + value = {
20149 + "(",
20150 + "Landroid/accounts/Account;",
20151 + "Ljava/lang/String;",
20152 + "Landroid/os/Bundle;",
20153 + "Landroid/app/Activity;",
20154 + "Landroid/accounts/AccountManagerCallback",
20155 + "<",
20156 + "Landroid/os/Bundle;",
20157 + ">;",
20158 + "Landroid/os/Handler;",
20159 + ")",
20160 + "Landroid/accounts/AccountManagerFuture",
20161 + "<",
20162 + "Landroid/os/Bundle;",
20163 + ">;"
20165 + .end annotation
20167 + const/4 v5, 0x0
20169 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
20171 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20173 + move-result-object v1
20175 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20177 + move-result v2
20179 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20181 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20183 + move-result-object v6
20185 + if-eqz v6, :cond_2e
20187 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
20189 + move-result v0
20191 + if-eqz v0, :cond_2e
20193 + const-string v8, "[empty]"
20195 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
20197 + new-instance v0, Landroid/os/Bundle;
20199 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
20201 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
20203 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20205 + const/4 v3, 0x1
20207 + const-string v4, "authTokens"
20209 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20211 + :goto_2d
20212 + return-object v7
20214 + :cond_2e
20215 + const-string v8, "[real value]"
20217 + 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;
20219 + move-result-object v7
20221 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20223 + const/4 v3, 0x0
20225 + const-string v4, "authTokens"
20227 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20229 + goto :goto_2d
20230 +.end method
20232 +.method public getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
20233 + .registers 15
20234 + .annotation system Ldalvik/annotation/Signature;
20235 + value = {
20236 + "(",
20237 + "Landroid/accounts/Account;",
20238 + "Ljava/lang/String;",
20239 + "Z",
20240 + "Landroid/accounts/AccountManagerCallback",
20241 + "<",
20242 + "Landroid/os/Bundle;",
20243 + ">;",
20244 + "Landroid/os/Handler;",
20245 + ")",
20246 + "Landroid/accounts/AccountManagerFuture",
20247 + "<",
20248 + "Landroid/os/Bundle;",
20249 + ">;"
20251 + .end annotation
20253 + const/4 v5, 0x0
20255 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
20257 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20259 + move-result-object v1
20261 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20263 + move-result v2
20265 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20267 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20269 + move-result-object v6
20271 + if-eqz v6, :cond_2e
20273 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
20275 + move-result v0
20277 + if-eqz v0, :cond_2e
20279 + const-string v8, "[empty]"
20281 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
20283 + new-instance v0, Landroid/os/Bundle;
20285 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
20287 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
20289 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20291 + const/4 v3, 0x1
20293 + const-string v4, "authTokens"
20295 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20297 + :goto_2d
20298 + return-object v7
20300 + :cond_2e
20301 + const-string v8, "[real value]"
20303 + invoke-super/range {p0 .. p5}, Landroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
20305 + move-result-object v7
20307 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20309 + const/4 v3, 0x0
20311 + const-string v4, "authTokens"
20313 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20315 + goto :goto_2d
20316 +.end method
20318 +.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;
20319 + .registers 18
20320 + .annotation system Ldalvik/annotation/Signature;
20321 + value = {
20322 + "(",
20323 + "Ljava/lang/String;",
20324 + "Ljava/lang/String;",
20325 + "[",
20326 + "Ljava/lang/String;",
20327 + "Landroid/app/Activity;",
20328 + "Landroid/os/Bundle;",
20329 + "Landroid/os/Bundle;",
20330 + "Landroid/accounts/AccountManagerCallback",
20331 + "<",
20332 + "Landroid/os/Bundle;",
20333 + ">;",
20334 + "Landroid/os/Handler;",
20335 + ")",
20336 + "Landroid/accounts/AccountManagerFuture",
20337 + "<",
20338 + "Landroid/os/Bundle;",
20339 + ">;"
20341 + .end annotation
20343 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
20345 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20347 + move-result-object v1
20349 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20351 + move-result v2
20353 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20355 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20357 + move-result-object v6
20359 + if-eqz v6, :cond_2e
20361 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsAuthTokensSetting()B
20363 + move-result v0
20365 + if-eqz v0, :cond_2e
20367 + const-string v8, "[empty]"
20369 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
20371 + new-instance v0, Landroid/os/Bundle;
20373 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
20375 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
20377 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20379 + const/4 v3, 0x1
20381 + const-string v4, "authTokens"
20383 + const/4 v5, 0x0
20385 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20387 + :goto_2d
20388 + return-object v7
20390 + :cond_2e
20391 + const-string v8, "[real value]"
20393 + 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;
20395 + move-result-object v7
20397 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20399 + const/4 v3, 0x0
20401 + const-string v4, "authTokens"
20403 + const/4 v5, 0x0
20405 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20407 + goto :goto_2d
20408 +.end method
20410 +.method public hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
20411 + .registers 14
20412 + .annotation system Ldalvik/annotation/Signature;
20413 + value = {
20414 + "(",
20415 + "Landroid/accounts/Account;",
20416 + "[",
20417 + "Ljava/lang/String;",
20418 + "Landroid/accounts/AccountManagerCallback",
20419 + "<",
20420 + "Ljava/lang/Boolean;",
20421 + ">;",
20422 + "Landroid/os/Handler;",
20423 + ")",
20424 + "Landroid/accounts/AccountManagerFuture",
20425 + "<",
20426 + "Ljava/lang/Boolean;",
20427 + ">;"
20429 + .end annotation
20431 + const/4 v5, 0x0
20433 + const/4 v3, 0x0
20435 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->context:Landroid/content/Context;
20437 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
20439 + move-result-object v1
20441 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
20443 + move-result v2
20445 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20447 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20449 + move-result-object v6
20451 + if-eqz v6, :cond_2e
20453 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getAccountsSetting()B
20455 + move-result v0
20457 + if-eqz v0, :cond_2e
20459 + const-string v8, "[false]"
20461 + new-instance v7, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;
20463 + invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
20465 + move-result-object v0
20467 + invoke-direct {v7, p0, v0}, Landroid/privacy/surrogate/PrivacyAccountManager$PrivacyAccountManagerFuture;-><init>(Landroid/privacy/surrogate/PrivacyAccountManager;Ljava/lang/Object;)V
20469 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20471 + const/4 v3, 0x1
20473 + const-string v4, "accountsList"
20475 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20477 + :goto_2d
20478 + return-object v7
20480 + :cond_2e
20481 + const-string v8, "[real value]"
20483 + 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;
20485 + move-result-object v7
20487 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyAccountManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20489 + const-string v4, "accountsList"
20491 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20493 + goto :goto_2d
20494 +.end method
20495 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali ext-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali
20496 --- stock-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 1969-12-31 18:00:00.000000000 -0600
20497 +++ ext-framework/smali/android/privacy/surrogate/PrivacyActivityManagerService.smali 2012-11-08 09:11:56.546841730 -0600
20498 @@ -0,0 +1,1217 @@
20499 +.class public final Landroid/privacy/surrogate/PrivacyActivityManagerService;
20500 +.super Ljava/lang/Object;
20501 +.source "PrivacyActivityManagerService.java"
20504 +# static fields
20505 +.field private static final TAG:Ljava/lang/String; = "PrivacyActivityManagerService"
20507 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
20509 +.field private static tmpIn:Landroid/content/Intent;
20511 +.field private static tmpInHash:J
20513 +.field private static tmpInReceivers:I
20515 +.field private static tmpMms:Landroid/content/Intent;
20517 +.field private static tmpMmsHash:J
20519 +.field private static tmpMmsReceivers:I
20521 +.field private static tmpOut:Landroid/content/Intent;
20523 +.field private static tmpOutHash:J
20525 +.field private static tmpOutReceivers:I
20527 +.field private static tmpPackageAddedHash:J
20529 +.field private static tmpSms:Landroid/content/Intent;
20531 +.field private static tmpSmsHash:J
20533 +.field private static tmpSmsReceivers:I
20536 +# direct methods
20537 +.method static constructor <clinit>()V
20538 + .registers 3
20540 + const/4 v2, 0x0
20542 + const-wide/16 v0, 0x0
20544 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
20546 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
20548 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
20550 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
20552 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
20554 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
20556 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
20558 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
20560 + sput-wide v0, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
20562 + return-void
20563 +.end method
20565 +.method public constructor <init>()V
20566 + .registers 1
20568 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
20570 + return-void
20571 +.end method
20573 +.method public static enforcePrivacyPermission(Ljava/lang/String;ILandroid/content/Intent;Landroid/content/Context;I)V
20574 + .registers 29
20576 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20578 + if-nez v2, :cond_13
20580 + if-eqz p3, :cond_13
20582 + const-string/jumbo v2, "privacy"
20584 + move-object/from16 v0, p3
20586 + invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
20588 + move-result-object v2
20590 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
20592 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20594 + :cond_13
20595 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20597 + if-nez v2, :cond_2c
20599 + if-nez p3, :cond_2c
20601 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
20603 + const/4 v3, 0x0
20605 + const-string/jumbo v4, "privacy"
20607 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
20609 + move-result-object v4
20611 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
20613 + move-result-object v4
20615 + invoke-direct {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
20617 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20619 + :cond_2c
20620 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
20622 + move-result-object v16
20624 + const-string v2, "android.intent.action.NEW_OUTGOING_CALL"
20626 + move-object/from16 v0, v16
20628 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20630 + move-result v2
20632 + if-eqz v2, :cond_cc
20634 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20636 + move-object/from16 v0, p0
20638 + move/from16 v1, p1
20640 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20642 + move-result-object v8
20644 + const-string v2, "android.intent.extra.PHONE_NUMBER"
20646 + move-object/from16 v0, p2
20648 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
20650 + move-result-object v23
20652 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
20654 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
20656 + move-result-wide v4
20658 + cmp-long v2, v2, v4
20660 + if-eqz v2, :cond_66
20662 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
20664 + move-result-object v2
20666 + check-cast v2, Landroid/content/Intent;
20668 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
20670 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
20672 + move-result-wide v2
20674 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
20676 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
20678 + :cond_66
20679 + if-eqz v8, :cond_93
20681 + :try_start_68
20682 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getOutgoingCallsSetting()B
20684 + move-result v2
20686 + if-eqz v2, :cond_93
20688 + const-string v23, ""
20690 + const-string v2, "android.intent.extra.PHONE_NUMBER"
20692 + move-object/from16 v0, p2
20694 + move-object/from16 v1, v23
20696 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
20698 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20700 + const/4 v5, 0x1
20702 + const-string/jumbo v6, "outgoingCall"
20704 + const/4 v7, 0x0
20706 + move-object/from16 v3, p0
20708 + move/from16 v4, p1
20710 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20711 + :try_end_87
20712 + .catch Ljava/lang/Exception; {:try_start_68 .. :try_end_87} :catch_bd
20714 + :cond_87
20715 + :goto_87
20716 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
20718 + const/4 v3, 0x1
20720 + if-le v2, v3, :cond_c8
20722 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
20724 + add-int/lit8 v2, v2, -0x1
20726 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutReceivers:I
20728 + :cond_92
20729 + :goto_92
20730 + return-void
20732 + :cond_93
20733 + :try_start_93
20734 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOutHash:J
20736 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
20738 + move-result-wide v4
20740 + cmp-long v2, v2, v4
20742 + if-nez v2, :cond_87
20744 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
20746 + const-string v3, "android.intent.extra.PHONE_NUMBER"
20748 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
20750 + move-result-object v23
20752 + const-string v2, "android.intent.extra.PHONE_NUMBER"
20754 + move-object/from16 v0, p2
20756 + move-object/from16 v1, v23
20758 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
20760 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20762 + const/4 v5, 0x0
20764 + const-string/jumbo v6, "outgoingCall"
20766 + const/4 v7, 0x0
20768 + move-object/from16 v3, p0
20770 + move/from16 v4, p1
20772 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20773 + :try_end_bc
20774 + .catch Ljava/lang/Exception; {:try_start_93 .. :try_end_bc} :catch_bd
20776 + goto :goto_87
20778 + :catch_bd
20779 + move-exception v20
20781 + const-string v2, "PrivacyActivityManagerService"
20783 + const-string v3, "failed to enforce intent broadcast permission"
20785 + move-object/from16 v0, v20
20787 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
20789 + goto :goto_87
20791 + :cond_c8
20792 + const/4 v2, 0x0
20794 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpOut:Landroid/content/Intent;
20796 + goto :goto_92
20798 + :cond_cc
20799 + const-string v2, "android.intent.action.PHONE_STATE"
20801 + move-object/from16 v0, v16
20803 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20805 + move-result v2
20807 + if-eqz v2, :cond_170
20809 + const-string v2, "incoming_number"
20811 + move-object/from16 v0, p2
20813 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
20815 + move-result-object v23
20817 + if-eqz v23, :cond_92
20819 + invoke-virtual/range {v23 .. v23}, Ljava/lang/String;->isEmpty()Z
20821 + move-result v2
20823 + if-nez v2, :cond_92
20825 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20827 + move-object/from16 v0, p0
20829 + move/from16 v1, p1
20831 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20833 + move-result-object v8
20835 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
20837 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
20839 + move-result-wide v4
20841 + cmp-long v2, v2, v4
20843 + if-eqz v2, :cond_10a
20845 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
20847 + move-result-object v2
20849 + check-cast v2, Landroid/content/Intent;
20851 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
20853 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
20855 + move-result-wide v2
20857 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
20859 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
20861 + :cond_10a
20862 + if-eqz v8, :cond_137
20864 + :try_start_10c
20865 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
20867 + move-result v2
20869 + if-eqz v2, :cond_137
20871 + const-string v23, ""
20873 + const-string v2, "incoming_number"
20875 + move-object/from16 v0, p2
20877 + move-object/from16 v1, v23
20879 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
20881 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20883 + const/4 v5, 0x1
20885 + const-string v6, "incomingCall"
20887 + const/4 v7, 0x0
20889 + move-object/from16 v3, p0
20891 + move/from16 v4, p1
20893 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20894 + :try_end_12a
20895 + .catch Ljava/lang/Exception; {:try_start_10c .. :try_end_12a} :catch_160
20897 + :cond_12a
20898 + :goto_12a
20899 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
20901 + const/4 v3, 0x1
20903 + if-le v2, v3, :cond_16b
20905 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
20907 + add-int/lit8 v2, v2, -0x1
20909 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInReceivers:I
20911 + goto/16 :goto_92
20913 + :cond_137
20914 + :try_start_137
20915 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpInHash:J
20917 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
20919 + move-result-wide v4
20921 + cmp-long v2, v2, v4
20923 + if-nez v2, :cond_12a
20925 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
20927 + const-string v3, "incoming_number"
20929 + invoke-virtual {v2, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;
20931 + move-result-object v23
20933 + const-string v2, "incoming_number"
20935 + move-object/from16 v0, p2
20937 + move-object/from16 v1, v23
20939 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
20941 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20943 + const/4 v5, 0x0
20945 + const-string v6, "incomingCall"
20947 + const/4 v7, 0x0
20949 + move-object/from16 v3, p0
20951 + move/from16 v4, p1
20953 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
20954 + :try_end_15f
20955 + .catch Ljava/lang/Exception; {:try_start_137 .. :try_end_15f} :catch_160
20957 + goto :goto_12a
20959 + :catch_160
20960 + move-exception v20
20962 + const-string v2, "PrivacyActivityManagerService"
20964 + const-string v3, "failed to enforce intent broadcast permission"
20966 + move-object/from16 v0, v20
20968 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
20970 + goto :goto_12a
20972 + :cond_16b
20973 + const/4 v2, 0x0
20975 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpIn:Landroid/content/Intent;
20977 + goto/16 :goto_92
20979 + :cond_170
20980 + const-string v2, "android.provider.Telephony.SMS_RECEIVED"
20982 + move-object/from16 v0, v16
20984 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
20986 + move-result v2
20988 + if-eqz v2, :cond_253
20990 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
20992 + move-object/from16 v0, p0
20994 + move/from16 v1, p1
20996 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
20998 + move-result-object v8
21000 + const-string v23, "[real]"
21002 + const-string/jumbo v2, "pdus"
21004 + move-object/from16 v0, p2
21006 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
21008 + move-result-object v2
21010 + check-cast v2, [Ljava/lang/Object;
21012 + move-object/from16 v22, v2
21014 + check-cast v22, [Ljava/lang/Object;
21016 + if-eqz v22, :cond_1f8
21018 + const/4 v2, 0x0
21020 + aget-object v2, v22, v2
21022 + check-cast v2, [B
21024 + check-cast v2, [B
21026 + move-object/from16 v19, v2
21028 + :goto_1a0
21029 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
21031 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21033 + move-result-wide v4
21035 + cmp-long v2, v2, v4
21037 + if-eqz v2, :cond_1ba
21039 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
21041 + move-result-object v2
21043 + check-cast v2, Landroid/content/Intent;
21045 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
21047 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21049 + move-result-wide v2
21051 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
21053 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
21055 + :cond_1ba
21056 + if-eqz v8, :cond_1fb
21058 + :try_start_1bc
21059 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
21061 + move-result v2
21063 + if-eqz v2, :cond_1fb
21065 + const-string v23, "[empty]"
21067 + const/4 v2, 0x1
21069 + new-array v0, v2, [Ljava/lang/Object;
21071 + move-object/from16 v21, v0
21073 + const/4 v2, 0x0
21075 + const/16 v3, 0x10
21077 + new-array v3, v3, [B
21079 + fill-array-data v3, :array_3da
21081 + aput-object v3, v21, v2
21083 + const-string/jumbo v2, "pdus"
21085 + move-object/from16 v0, p2
21087 + move-object/from16 v1, v21
21089 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
21091 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21093 + const/4 v5, 0x1
21095 + const-string/jumbo v6, "sms"
21097 + const/4 v7, 0x0
21099 + move-object/from16 v3, p0
21101 + move/from16 v4, p1
21103 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21104 + :try_end_1eb
21105 + .catch Ljava/lang/Exception; {:try_start_1bc .. :try_end_1eb} :catch_240
21107 + :cond_1eb
21108 + :goto_1eb
21109 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
21111 + const/4 v3, 0x1
21113 + if-le v2, v3, :cond_24e
21115 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
21117 + add-int/lit8 v2, v2, -0x1
21119 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsReceivers:I
21121 + goto/16 :goto_92
21123 + :cond_1f8
21124 + const/16 v19, 0x0
21126 + goto :goto_1a0
21128 + :cond_1fb
21129 + :try_start_1fb
21130 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSmsHash:J
21132 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21134 + move-result-wide v4
21136 + cmp-long v2, v2, v4
21138 + if-nez v2, :cond_1eb
21140 + const-string/jumbo v2, "pdus"
21142 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
21144 + const-string/jumbo v4, "pdus"
21146 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
21148 + move-result-object v3
21150 + move-object/from16 v0, p2
21152 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
21154 + const-string/jumbo v2, "pdus"
21156 + move-object/from16 v0, p2
21158 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
21160 + move-result-object v2
21162 + check-cast v2, [Ljava/lang/Object;
21164 + move-object v0, v2
21166 + check-cast v0, [Ljava/lang/Object;
21168 + move-object/from16 v22, v0
21170 + if-eqz v22, :cond_24b
21172 + const/4 v2, 0x0
21174 + aget-object v2, v22, v2
21176 + check-cast v2, [B
21178 + check-cast v2, [B
21180 + move-object/from16 v19, v2
21182 + :goto_231
21183 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21185 + const/4 v5, 0x0
21187 + const-string/jumbo v6, "sms"
21189 + const/4 v7, 0x0
21191 + move-object/from16 v3, p0
21193 + move/from16 v4, p1
21195 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21196 + :try_end_23f
21197 + .catch Ljava/lang/Exception; {:try_start_1fb .. :try_end_23f} :catch_240
21199 + goto :goto_1eb
21201 + :catch_240
21202 + move-exception v20
21204 + const-string v2, "PrivacyActivityManagerService"
21206 + const-string v3, "failed to enforce intent broadcast permission"
21208 + move-object/from16 v0, v20
21210 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
21212 + goto :goto_1eb
21214 + :cond_24b
21215 + const/16 v19, 0x0
21217 + goto :goto_231
21219 + :cond_24e
21220 + const/4 v2, 0x0
21222 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpSms:Landroid/content/Intent;
21224 + goto/16 :goto_92
21226 + :cond_253
21227 + const-string v2, "android.provider.Telephony.WAP_PUSH_RECEIVED"
21229 + move-object/from16 v0, v16
21231 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21233 + move-result v2
21235 + if-nez v2, :cond_267
21237 + const-string v2, "android.intent.action.DATA_SMS_RECEIVED"
21239 + move-object/from16 v0, v16
21241 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21243 + move-result v2
21245 + if-eqz v2, :cond_340
21247 + :cond_267
21248 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21250 + move-object/from16 v0, p0
21252 + move/from16 v1, p1
21254 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21256 + move-result-object v8
21258 + const-string v23, "[real]"
21260 + const-string/jumbo v2, "pdus"
21262 + move-object/from16 v0, p2
21264 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
21266 + move-result-object v2
21268 + check-cast v2, [Ljava/lang/Object;
21270 + move-object/from16 v22, v2
21272 + check-cast v22, [Ljava/lang/Object;
21274 + if-eqz v22, :cond_2e5
21276 + const/4 v2, 0x0
21278 + aget-object v2, v22, v2
21280 + check-cast v2, [B
21282 + check-cast v2, [B
21284 + move-object/from16 v19, v2
21286 + :goto_28d
21287 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
21289 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21291 + move-result-wide v4
21293 + cmp-long v2, v2, v4
21295 + if-eqz v2, :cond_2a7
21297 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->clone()Ljava/lang/Object;
21299 + move-result-object v2
21301 + check-cast v2, Landroid/content/Intent;
21303 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
21305 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21307 + move-result-wide v2
21309 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
21311 + sput p4, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
21313 + :cond_2a7
21314 + if-eqz v8, :cond_2e8
21316 + :try_start_2a9
21317 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
21319 + move-result v2
21321 + if-eqz v2, :cond_2e8
21323 + const-string v23, "[empty]"
21325 + const/4 v2, 0x1
21327 + new-array v0, v2, [Ljava/lang/Object;
21329 + move-object/from16 v21, v0
21331 + const/4 v2, 0x0
21333 + const/16 v3, 0x10
21335 + new-array v3, v3, [B
21337 + fill-array-data v3, :array_3e6
21339 + aput-object v3, v21, v2
21341 + const-string/jumbo v2, "pdus"
21343 + move-object/from16 v0, p2
21345 + move-object/from16 v1, v21
21347 + invoke-virtual {v0, v2, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
21349 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21351 + const/4 v5, 0x1
21353 + const-string/jumbo v6, "mms"
21355 + const/4 v7, 0x0
21357 + move-object/from16 v3, p0
21359 + move/from16 v4, p1
21361 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21362 + :try_end_2d8
21363 + .catch Ljava/lang/Exception; {:try_start_2a9 .. :try_end_2d8} :catch_32d
21365 + :cond_2d8
21366 + :goto_2d8
21367 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
21369 + const/4 v3, 0x1
21371 + if-le v2, v3, :cond_33b
21373 + sget v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
21375 + add-int/lit8 v2, v2, -0x1
21377 + sput v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsReceivers:I
21379 + goto/16 :goto_92
21381 + :cond_2e5
21382 + const/16 v19, 0x0
21384 + goto :goto_28d
21386 + :cond_2e8
21387 + :try_start_2e8
21388 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMmsHash:J
21390 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21392 + move-result-wide v4
21394 + cmp-long v2, v2, v4
21396 + if-nez v2, :cond_2d8
21398 + const-string/jumbo v2, "pdus"
21400 + sget-object v3, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
21402 + const-string/jumbo v4, "pdus"
21404 + invoke-virtual {v3, v4}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
21406 + move-result-object v3
21408 + move-object/from16 v0, p2
21410 + invoke-virtual {v0, v2, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent;
21412 + const-string/jumbo v2, "pdus"
21414 + move-object/from16 v0, p2
21416 + invoke-virtual {v0, v2}, Landroid/content/Intent;->getSerializableExtra(Ljava/lang/String;)Ljava/io/Serializable;
21418 + move-result-object v2
21420 + check-cast v2, [Ljava/lang/Object;
21422 + move-object v0, v2
21424 + check-cast v0, [Ljava/lang/Object;
21426 + move-object/from16 v22, v0
21428 + if-eqz v22, :cond_338
21430 + const/4 v2, 0x0
21432 + aget-object v2, v22, v2
21434 + check-cast v2, [B
21436 + check-cast v2, [B
21438 + move-object/from16 v19, v2
21440 + :goto_31e
21441 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21443 + const/4 v5, 0x0
21445 + const-string/jumbo v6, "mms"
21447 + const/4 v7, 0x0
21449 + move-object/from16 v3, p0
21451 + move/from16 v4, p1
21453 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21454 + :try_end_32c
21455 + .catch Ljava/lang/Exception; {:try_start_2e8 .. :try_end_32c} :catch_32d
21457 + goto :goto_2d8
21459 + :catch_32d
21460 + move-exception v20
21462 + const-string v2, "PrivacyActivityManagerService"
21464 + const-string v3, "failed to enforce intent broadcast permission"
21466 + move-object/from16 v0, v20
21468 + invoke-static {v2, v3, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
21470 + goto :goto_2d8
21472 + :cond_338
21473 + const/16 v19, 0x0
21475 + goto :goto_31e
21477 + :cond_33b
21478 + const/4 v2, 0x0
21480 + sput-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpMms:Landroid/content/Intent;
21482 + goto/16 :goto_92
21484 + :cond_340
21485 + const-string v2, "android.intent.action.BOOT_COMPLETED"
21487 + move-object/from16 v0, v16
21489 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21491 + move-result v2
21493 + if-eqz v2, :cond_38d
21495 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21497 + invoke-virtual {v2}, Landroid/privacy/PrivacySettingsManager;->setBootCompleted()V
21499 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21501 + move-object/from16 v0, p0
21503 + invoke-virtual {v2, v0}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;)Landroid/privacy/PrivacySettings;
21505 + move-result-object v8
21507 + if-eqz v8, :cond_376
21509 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIntentBootCompletedSetting()B
21511 + move-result v2
21513 + if-eqz v2, :cond_376
21515 + const-string v2, "catchBootComplete"
21517 + move-object/from16 v0, p2
21519 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
21521 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21523 + const/4 v12, 0x1
21525 + const-string v13, "intentBootCompleted"
21527 + const/4 v14, 0x0
21529 + const/4 v15, 0x0
21531 + move-object/from16 v10, p0
21533 + move/from16 v11, p1
21535 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21537 + goto/16 :goto_92
21539 + :cond_376
21540 + const-string v2, "android.intent.action.BOOT_COMPLETED"
21542 + move-object/from16 v0, p2
21544 + invoke-virtual {v0, v2}, Landroid/content/Intent;->setAction(Ljava/lang/String;)Landroid/content/Intent;
21546 + sget-object v9, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21548 + const/4 v12, 0x0
21550 + const-string v13, "intentBootCompleted"
21552 + const/4 v14, 0x0
21554 + const/4 v15, 0x0
21556 + move-object/from16 v10, p0
21558 + move/from16 v11, p1
21560 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21562 + goto/16 :goto_92
21564 + :cond_38d
21565 + const-string v2, "android.intent.action.PACKAGE_ADDED"
21567 + move-object/from16 v0, v16
21569 + invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
21571 + move-result v2
21573 + if-eqz v2, :cond_92
21575 + sget-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
21577 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21579 + move-result-wide v4
21581 + cmp-long v2, v2, v4
21583 + if-eqz v2, :cond_92
21585 + invoke-static/range {p2 .. p2}, Landroid/privacy/surrogate/PrivacyActivityManagerService;->hashCode(Landroid/content/Intent;)J
21587 + move-result-wide v2
21589 + sput-wide v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->tmpPackageAddedHash:J
21591 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getData()Landroid/net/Uri;
21593 + move-result-object v2
21595 + invoke-virtual {v2}, Landroid/net/Uri;->getSchemeSpecificPart()Ljava/lang/String;
21597 + move-result-object v17
21599 + invoke-virtual/range {p2 .. p2}, Landroid/content/Intent;->getExtras()Landroid/os/Bundle;
21601 + move-result-object v2
21603 + const-string v3, "android.intent.extra.UID"
21605 + invoke-virtual {v2, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
21607 + move-result v18
21609 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21611 + move-object/from16 v0, v17
21613 + move/from16 v1, v18
21615 + invoke-virtual {v2, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21617 + move-result-object v8
21619 + if-eqz v8, :cond_92
21621 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getUid()I
21623 + move-result v2
21625 + move/from16 v0, v18
21627 + if-eq v2, v0, :cond_92
21629 + move/from16 v0, v18
21631 + invoke-virtual {v8, v0}, Landroid/privacy/PrivacySettings;->setUid(I)V
21633 + sget-object v2, Landroid/privacy/surrogate/PrivacyActivityManagerService;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21635 + invoke-virtual {v2, v8}, Landroid/privacy/PrivacySettingsManager;->saveSettings(Landroid/privacy/PrivacySettings;)Z
21637 + goto/16 :goto_92
21639 + nop
21641 + :array_3da
21642 + .array-data 0x1
21643 + 0x0t
21644 + 0x20t
21645 + 0x1t
21646 + 0x81t
21647 + 0xf0t
21648 + 0x0t
21649 + 0x0t
21650 + 0x11t
21651 + 0x90t
21652 + 0x1t
21653 + 0x30t
21654 + 0x22t
21655 + 0x22t
21656 + 0x80t
21657 + 0x1t
21658 + 0x20t
21659 + .end array-data
21661 + :array_3e6
21662 + .array-data 0x1
21663 + 0x0t
21664 + 0x20t
21665 + 0x1t
21666 + 0x81t
21667 + 0xf0t
21668 + 0x0t
21669 + 0x0t
21670 + 0x11t
21671 + 0x90t
21672 + 0x1t
21673 + 0x30t
21674 + 0x22t
21675 + 0x22t
21676 + 0x80t
21677 + 0x1t
21678 + 0x20t
21679 + .end array-data
21680 +.end method
21682 +.method private static hashCode(Landroid/content/Intent;)J
21683 + .registers 7
21685 + const-wide/16 v3, 0x0
21687 + const-string/jumbo v2, "privacy_hash"
21689 + invoke-virtual {p0, v2, v3, v4}, Landroid/content/Intent;->getLongExtra(Ljava/lang/String;J)J
21691 + move-result-wide v0
21693 + cmp-long v2, v0, v3
21695 + if-nez v2, :cond_1e
21697 + invoke-virtual {p0}, Landroid/content/Intent;->filterHashCode()I
21699 + move-result v2
21701 + int-to-long v2, v2
21703 + invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
21705 + move-result-wide v4
21707 + add-long v0, v2, v4
21709 + const-string/jumbo v2, "privacy_hash"
21711 + invoke-virtual {p0, v2, v0, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;J)Landroid/content/Intent;
21713 + :cond_1e
21714 + return-wide v0
21715 +.end method
21716 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCDMALTEPhone.smali ext-framework/smali/android/privacy/surrogate/PrivacyCDMALTEPhone.smali
21717 --- stock-framework/smali/android/privacy/surrogate/PrivacyCDMALTEPhone.smali 1969-12-31 18:00:00.000000000 -0600
21718 +++ ext-framework/smali/android/privacy/surrogate/PrivacyCDMALTEPhone.smali 2012-11-08 09:11:56.562841810 -0600
21719 @@ -0,0 +1,1696 @@
21720 +.class public Landroid/privacy/surrogate/PrivacyCDMALTEPhone;
21721 +.super Lcom/android/internal/telephony/cdma/CDMALTEPhone;
21722 +.source "PrivacyCDMALTEPhone.java"
21725 +# static fields
21726 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyCDMALTEPhone"
21729 +# instance fields
21730 +.field private context:Landroid/content/Context;
21732 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
21735 +# direct methods
21736 +.method public constructor <init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
21737 + .registers 7
21739 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
21741 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21743 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
21745 + const-string/jumbo v1, "privacy"
21747 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
21749 + move-result-object v1
21751 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
21753 + move-result-object v1
21755 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
21757 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21759 + const-string v0, "PrivacyCDMALTEPhone"
21761 + new-instance v1, Ljava/lang/StringBuilder;
21763 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
21765 + const-string v2, "Constructor ready for package: "
21767 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21769 + move-result-object v1
21771 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21773 + move-result-object v2
21775 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21777 + move-result-object v1
21779 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21781 + move-result-object v1
21783 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
21785 + return-void
21786 +.end method
21789 +# virtual methods
21790 +.method public dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
21791 + .registers 10
21792 + .annotation system Ldalvik/annotation/Throws;
21793 + value = {
21794 + Lcom/android/internal/telephony/CallStateException;
21796 + .end annotation
21798 + const/4 v2, 0x0
21800 + const/4 v5, 0x0
21802 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21804 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21806 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21808 + move-result-object v1
21810 + const/4 v3, -0x1
21812 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21814 + move-result-object v7
21816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21818 + if-eqz v0, :cond_31
21820 + if-eqz v7, :cond_31
21822 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
21824 + move-result v0
21826 + if-eqz v0, :cond_31
21828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21830 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21832 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21834 + move-result-object v1
21836 + const/4 v3, 0x1
21838 + const-string/jumbo v4, "phoneCall"
21840 + move-object v6, v5
21842 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21844 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
21846 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
21848 + throw v0
21850 + :cond_31
21851 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21853 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21855 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21857 + move-result-object v1
21859 + const-string/jumbo v4, "phoneCall"
21861 + move v3, v2
21863 + move-object v6, v5
21865 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21867 + invoke-super {p0, p1}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
21869 + move-result-object v0
21871 + return-object v0
21872 +.end method
21874 +.method public dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
21875 + .registers 11
21876 + .annotation system Ldalvik/annotation/Throws;
21877 + value = {
21878 + Lcom/android/internal/telephony/CallStateException;
21880 + .end annotation
21882 + const/4 v2, 0x0
21884 + const/4 v5, 0x0
21886 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21888 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21890 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21892 + move-result-object v1
21894 + const/4 v3, -0x1
21896 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
21898 + move-result-object v7
21900 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21902 + if-eqz v0, :cond_31
21904 + if-eqz v7, :cond_31
21906 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
21908 + move-result v0
21910 + if-eqz v0, :cond_31
21912 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21914 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21916 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21918 + move-result-object v1
21920 + const/4 v3, 0x1
21922 + const-string/jumbo v4, "phoneCall"
21924 + move-object v6, v5
21926 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21928 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
21930 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
21932 + throw v0
21934 + :cond_31
21935 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
21937 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21939 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21941 + move-result-object v1
21943 + const-string/jumbo v4, "phoneCall"
21945 + move v3, v2
21947 + move-object v6, v5
21949 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
21951 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
21953 + move-result-object v0
21955 + return-object v0
21956 +.end method
21958 +.method public getCellLocation()Landroid/telephony/CellLocation;
21959 + .registers 8
21961 + const/4 v5, 0x0
21963 + const/4 v2, 0x0
21965 + const-string v0, "PrivacyCDMALTEPhone"
21967 + new-instance v1, Ljava/lang/StringBuilder;
21969 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
21971 + const-string v3, "Package: "
21973 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21975 + move-result-object v1
21977 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
21979 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
21981 + move-result-object v3
21983 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21985 + move-result-object v1
21987 + const-string v3, " asked for getCellLocation()"
21989 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
21991 + move-result-object v1
21993 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
21995 + move-result-object v1
21997 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
21999 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22001 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22003 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22005 + move-result-object v1
22007 + invoke-static {}, Landroid/os/Process;->myUid()I
22009 + move-result v3
22011 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22013 + move-result-object v6
22015 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22017 + if-eqz v0, :cond_5f
22019 + if-eqz v6, :cond_5f
22021 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
22023 + move-result v0
22025 + if-nez v0, :cond_48
22027 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
22029 + move-result v0
22031 + if-eqz v0, :cond_5f
22033 + :cond_48
22034 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22036 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22038 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22040 + move-result-object v1
22042 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
22044 + move-result v3
22046 + const-string v4, "locationNetwork"
22048 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22050 + new-instance v0, Landroid/telephony/cdma/CdmaCellLocation;
22052 + invoke-direct {v0}, Landroid/telephony/cdma/CdmaCellLocation;-><init>()V
22054 + :goto_5e
22055 + return-object v0
22057 + :cond_5f
22058 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22060 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22062 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22064 + move-result-object v1
22066 + const-string v4, "locationNetwork"
22068 + move v3, v2
22070 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22072 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getCellLocation()Landroid/telephony/CellLocation;
22074 + move-result-object v0
22076 + goto :goto_5e
22077 +.end method
22079 +.method public getDeviceId()Ljava/lang/String;
22080 + .registers 8
22082 + const-string v0, "PrivacyCDMALTEPhone"
22084 + new-instance v3, Ljava/lang/StringBuilder;
22086 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22088 + const-string v4, "Package: "
22090 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22092 + move-result-object v3
22094 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22096 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22098 + move-result-object v4
22100 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22102 + move-result-object v3
22104 + const-string v4, " asked for getDeviceId()"
22106 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22108 + move-result-object v3
22110 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22112 + move-result-object v3
22114 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22116 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22118 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22120 + move-result-object v1
22122 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22124 + move-result v2
22126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22128 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22130 + move-result-object v6
22132 + if-eqz v6, :cond_4c
22134 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22136 + move-result v0
22138 + if-eqz v0, :cond_4c
22140 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
22142 + move-result-object v5
22144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22146 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22148 + move-result v3
22150 + const-string v4, "deviceID"
22152 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22154 + :goto_4b
22155 + return-object v5
22157 + :cond_4c
22158 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getDeviceId()Ljava/lang/String;
22160 + move-result-object v5
22162 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22164 + const/4 v3, 0x0
22166 + const-string v4, "deviceID"
22168 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22170 + goto :goto_4b
22171 +.end method
22173 +.method public getDeviceSvn()Ljava/lang/String;
22174 + .registers 8
22176 + const-string v0, "PrivacyCDMALTEPhone"
22178 + new-instance v3, Ljava/lang/StringBuilder;
22180 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22182 + const-string v4, "Package: "
22184 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22186 + move-result-object v3
22188 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22190 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22192 + move-result-object v4
22194 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22196 + move-result-object v3
22198 + const-string v4, " asked for getDeviceSvn()"
22200 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22202 + move-result-object v3
22204 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22206 + move-result-object v3
22208 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22210 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22212 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22214 + move-result-object v1
22216 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22218 + move-result v2
22220 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22222 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22224 + move-result-object v6
22226 + if-eqz v6, :cond_4c
22228 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22230 + move-result v0
22232 + if-eqz v0, :cond_4c
22234 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
22236 + move-result-object v5
22238 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22240 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22242 + move-result v3
22244 + const-string v4, "deviceID"
22246 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22248 + :goto_4b
22249 + return-object v5
22251 + :cond_4c
22252 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getDeviceSvn()Ljava/lang/String;
22254 + move-result-object v5
22256 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22258 + const/4 v3, 0x0
22260 + const-string v4, "deviceID"
22262 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22264 + goto :goto_4b
22265 +.end method
22267 +.method public getEsn()Ljava/lang/String;
22268 + .registers 8
22270 + const-string v0, "PrivacyCDMALTEPhone"
22272 + new-instance v3, Ljava/lang/StringBuilder;
22274 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22276 + const-string v4, "Package: "
22278 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22280 + move-result-object v3
22282 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22284 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22286 + move-result-object v4
22288 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22290 + move-result-object v3
22292 + const-string v4, " asked for getEsn()"
22294 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22296 + move-result-object v3
22298 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22300 + move-result-object v3
22302 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22304 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22306 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22308 + move-result-object v1
22310 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22312 + move-result v2
22314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22316 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22318 + move-result-object v6
22320 + if-eqz v6, :cond_4c
22322 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22324 + move-result v0
22326 + if-eqz v0, :cond_4c
22328 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
22330 + move-result-object v5
22332 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22334 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22336 + move-result v3
22338 + const-string v4, "deviceID"
22340 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22342 + :goto_4b
22343 + return-object v5
22345 + :cond_4c
22346 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getEsn()Ljava/lang/String;
22348 + move-result-object v5
22350 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22352 + const/4 v3, 0x0
22354 + const-string v4, "deviceID"
22356 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22358 + goto :goto_4b
22359 +.end method
22361 +.method public getImei()Ljava/lang/String;
22362 + .registers 8
22364 + const-string v0, "PrivacyCDMALTEPhone"
22366 + new-instance v3, Ljava/lang/StringBuilder;
22368 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22370 + const-string v4, "Package: "
22372 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22374 + move-result-object v3
22376 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22378 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22380 + move-result-object v4
22382 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22384 + move-result-object v3
22386 + const-string v4, " asked for getImei"
22388 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22390 + move-result-object v3
22392 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22394 + move-result-object v3
22396 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22398 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22400 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22402 + move-result-object v1
22404 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22406 + move-result v2
22408 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22410 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22412 + move-result-object v6
22414 + if-eqz v6, :cond_4c
22416 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22418 + move-result v0
22420 + if-eqz v0, :cond_4c
22422 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
22424 + move-result-object v5
22426 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22428 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22430 + move-result v3
22432 + const-string v4, "deviceID"
22434 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22436 + :goto_4b
22437 + return-object v5
22439 + :cond_4c
22440 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getImei()Ljava/lang/String;
22442 + move-result-object v5
22444 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22446 + const/4 v3, 0x0
22448 + const-string v4, "deviceID"
22450 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22452 + goto :goto_4b
22453 +.end method
22455 +.method public getLine1AlphaTag()Ljava/lang/String;
22456 + .registers 8
22458 + const/4 v2, 0x0
22460 + const-string v0, "PrivacyCDMALTEPhone"
22462 + new-instance v1, Ljava/lang/StringBuilder;
22464 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
22466 + const-string v3, "Package: "
22468 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22470 + move-result-object v1
22472 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22474 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22476 + move-result-object v3
22478 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22480 + move-result-object v1
22482 + const-string v3, " asked for getLine1AlphaTag()"
22484 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22486 + move-result-object v1
22488 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22490 + move-result-object v1
22492 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22494 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22496 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22498 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22500 + move-result-object v1
22502 + invoke-static {}, Landroid/os/Process;->myUid()I
22504 + move-result v3
22506 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22508 + move-result-object v6
22510 + const-string v5, ""
22512 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22514 + if-eqz v0, :cond_59
22516 + if-eqz v6, :cond_59
22518 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
22520 + move-result v0
22522 + if-eqz v0, :cond_59
22524 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
22526 + move-result-object v5
22528 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22530 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22532 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22534 + move-result-object v1
22536 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
22538 + move-result v3
22540 + const-string v4, "line1Number"
22542 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22544 + :goto_58
22545 + return-object v5
22547 + :cond_59
22548 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22550 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22552 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22554 + move-result-object v1
22556 + const-string v4, "line1Number"
22558 + move v3, v2
22560 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22562 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getLine1AlphaTag()Ljava/lang/String;
22564 + move-result-object v5
22566 + goto :goto_58
22567 +.end method
22569 +.method public getLine1Number()Ljava/lang/String;
22570 + .registers 8
22572 + const/4 v2, 0x0
22574 + const-string v0, "PrivacyCDMALTEPhone"
22576 + new-instance v1, Ljava/lang/StringBuilder;
22578 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
22580 + const-string v3, "Package: "
22582 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22584 + move-result-object v1
22586 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22588 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22590 + move-result-object v3
22592 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22594 + move-result-object v1
22596 + const-string v3, " asked for getLine1Number()"
22598 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22600 + move-result-object v1
22602 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22604 + move-result-object v1
22606 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22608 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22610 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22612 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22614 + move-result-object v1
22616 + invoke-static {}, Landroid/os/Process;->myUid()I
22618 + move-result v3
22620 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22622 + move-result-object v6
22624 + const-string v5, ""
22626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22628 + if-eqz v0, :cond_59
22630 + if-eqz v6, :cond_59
22632 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
22634 + move-result v0
22636 + if-eqz v0, :cond_59
22638 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
22640 + move-result-object v5
22642 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22644 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22646 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22648 + move-result-object v1
22650 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
22652 + move-result v3
22654 + const-string v4, "line1Number"
22656 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22658 + :goto_58
22659 + return-object v5
22661 + :cond_59
22662 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22664 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22666 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22668 + move-result-object v1
22670 + const-string v4, "line1Number"
22672 + move v3, v2
22674 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22676 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getLine1Number()Ljava/lang/String;
22678 + move-result-object v5
22680 + goto :goto_58
22681 +.end method
22683 +.method public getMeid()Ljava/lang/String;
22684 + .registers 8
22686 + const-string v0, "PrivacyCDMALTEPhone"
22688 + new-instance v3, Ljava/lang/StringBuilder;
22690 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22692 + const-string v4, "Package: "
22694 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22696 + move-result-object v3
22698 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22700 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22702 + move-result-object v4
22704 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22706 + move-result-object v3
22708 + const-string v4, " asked for getMeid()"
22710 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22712 + move-result-object v3
22714 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22716 + move-result-object v3
22718 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22720 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22722 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22724 + move-result-object v1
22726 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22728 + move-result v2
22730 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22732 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22734 + move-result-object v6
22736 + if-eqz v6, :cond_4c
22738 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22740 + move-result v0
22742 + if-eqz v0, :cond_4c
22744 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
22746 + move-result-object v5
22748 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22750 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22752 + move-result v3
22754 + const-string v4, "deviceID"
22756 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22758 + :goto_4b
22759 + return-object v5
22761 + :cond_4c
22762 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getMeid()Ljava/lang/String;
22764 + move-result-object v5
22766 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22768 + const/4 v3, 0x0
22770 + const-string v4, "deviceID"
22772 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22774 + goto :goto_4b
22775 +.end method
22777 +.method public getMsisdn()Ljava/lang/String;
22778 + .registers 8
22780 + const-string v0, "PrivacyCDMALTEPhone"
22782 + new-instance v3, Ljava/lang/StringBuilder;
22784 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
22786 + const-string v4, "Package: "
22788 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22790 + move-result-object v3
22792 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22794 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22796 + move-result-object v4
22798 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22800 + move-result-object v3
22802 + const-string v4, " asked for getMsisdn()"
22804 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22806 + move-result-object v3
22808 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22810 + move-result-object v3
22812 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22816 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22818 + move-result-object v1
22820 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
22822 + move-result v2
22824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22826 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22828 + move-result-object v6
22830 + if-eqz v6, :cond_4c
22832 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22834 + move-result v0
22836 + if-eqz v0, :cond_4c
22838 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
22840 + move-result-object v5
22842 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22844 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
22846 + move-result v3
22848 + const-string v4, "deviceID"
22850 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22852 + :goto_4b
22853 + return-object v5
22855 + :cond_4c
22856 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getMsisdn()Ljava/lang/String;
22858 + move-result-object v5
22860 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22862 + const/4 v3, 0x0
22864 + const-string v4, "deviceID"
22866 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22868 + goto :goto_4b
22869 +.end method
22871 +.method public getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
22872 + .registers 8
22874 + const/4 v5, 0x0
22876 + const/4 v2, 0x0
22878 + const-string v0, "PrivacyCDMALTEPhone"
22880 + new-instance v1, Ljava/lang/StringBuilder;
22882 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
22884 + const-string v3, "Package: "
22886 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22888 + move-result-object v1
22890 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22892 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22894 + move-result-object v3
22896 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22898 + move-result-object v1
22900 + const-string v3, " asked for getPhoneSubInfo()"
22902 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22904 + move-result-object v1
22906 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
22908 + move-result-object v1
22910 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
22912 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22914 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22916 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22918 + move-result-object v1
22920 + invoke-static {}, Landroid/os/Process;->myUid()I
22922 + move-result v3
22924 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
22926 + move-result-object v6
22928 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22930 + if-eqz v0, :cond_54
22932 + if-eqz v6, :cond_54
22934 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
22936 + move-result v0
22938 + if-eqz v0, :cond_54
22940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22942 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22944 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22946 + move-result-object v1
22948 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
22950 + move-result v3
22952 + const-string v4, "locationNetwork"
22954 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22956 + :goto_53
22957 + return-object v5
22959 + :cond_54
22960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
22962 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22964 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
22966 + move-result-object v1
22968 + const-string v4, "locationNetwork"
22970 + move v3, v2
22972 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
22974 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
22976 + move-result-object v5
22978 + goto :goto_53
22979 +.end method
22981 +.method public getServiceState()Landroid/telephony/ServiceState;
22982 + .registers 10
22984 + :try_start_0
22985 + const-string v0, "PrivacyCDMALTEPhone"
22987 + new-instance v1, Ljava/lang/StringBuilder;
22989 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
22991 + const-string v2, "Package: "
22993 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
22995 + move-result-object v1
22997 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
22999 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23001 + move-result-object v2
23003 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23005 + move-result-object v1
23007 + const-string v2, " asked for getServiceState()"
23009 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23011 + move-result-object v1
23013 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23015 + move-result-object v1
23017 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23019 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23021 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23023 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23025 + move-result-object v1
23027 + invoke-static {}, Landroid/os/Process;->myUid()I
23029 + move-result v2
23031 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23033 + move-result-object v6
23035 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23037 + if-eqz v0, :cond_61
23039 + if-eqz v6, :cond_61
23041 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
23043 + move-result v0
23045 + if-eqz v0, :cond_61
23047 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23049 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23051 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23053 + move-result-object v1
23055 + const/4 v2, 0x0
23057 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
23059 + move-result v3
23061 + const-string v4, "locationNetwork"
23063 + const/4 v5, 0x0
23065 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23067 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getServiceState()Landroid/telephony/ServiceState;
23069 + move-result-object v8
23071 + const-string v0, ""
23073 + const-string v1, ""
23075 + const-string v2, ""
23077 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
23079 + :goto_60
23080 + return-object v8
23082 + :cond_61
23083 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23085 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23087 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23089 + move-result-object v1
23091 + const/4 v2, 0x0
23093 + const/4 v3, 0x0
23095 + const-string v4, "locationNetwork"
23097 + const/4 v5, 0x0
23099 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23101 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getServiceState()Landroid/telephony/ServiceState;
23102 + :try_end_74
23103 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_74} :catch_76
23105 + move-result-object v8
23107 + goto :goto_60
23109 + :catch_76
23110 + move-exception v7
23112 + invoke-virtual {v7}, Ljava/lang/Exception;->printStackTrace()V
23114 + const-string v0, "PrivacyCDMALTEPhone"
23116 + const-string v1, "We got exception in getServiceState()-> give fake state"
23118 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
23120 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getServiceState()Landroid/telephony/ServiceState;
23122 + move-result-object v8
23124 + const-string v0, ""
23126 + const-string v1, ""
23128 + const-string v2, ""
23130 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
23132 + goto :goto_60
23133 +.end method
23135 +.method public getSubscriberId()Ljava/lang/String;
23136 + .registers 8
23138 + const-string v0, "PrivacyCDMALTEPhone"
23140 + new-instance v3, Ljava/lang/StringBuilder;
23142 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23144 + const-string v4, "Package: "
23146 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23148 + move-result-object v3
23150 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23152 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23154 + move-result-object v4
23156 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23158 + move-result-object v3
23160 + const-string v4, " asked for getSubscriberId()"
23162 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23164 + move-result-object v3
23166 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23168 + move-result-object v3
23170 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23174 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23176 + move-result-object v1
23178 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23180 + move-result v2
23182 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23184 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23186 + move-result-object v6
23188 + if-eqz v6, :cond_4d
23190 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
23192 + move-result v0
23194 + if-eqz v0, :cond_4d
23196 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
23198 + move-result-object v5
23200 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23202 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
23204 + move-result v3
23206 + const-string/jumbo v4, "subscriberID"
23208 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23210 + :goto_4c
23211 + return-object v5
23213 + :cond_4d
23214 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getSubscriberId()Ljava/lang/String;
23216 + move-result-object v5
23218 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23220 + const/4 v3, 0x0
23222 + const-string/jumbo v4, "subscriberID"
23224 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23226 + goto :goto_4c
23227 +.end method
23229 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
23230 + .registers 8
23232 + const-string v0, "PrivacyCDMALTEPhone"
23234 + new-instance v3, Ljava/lang/StringBuilder;
23236 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23238 + const-string v4, "Package: "
23240 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23242 + move-result-object v3
23244 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23246 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23248 + move-result-object v4
23250 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23252 + move-result-object v3
23254 + const-string v4, " asked for getVoiceMailAlphaTag()"
23256 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23258 + move-result-object v3
23260 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23262 + move-result-object v3
23264 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23266 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23268 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23270 + move-result-object v1
23272 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23274 + move-result v2
23276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23278 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23280 + move-result-object v6
23282 + if-eqz v6, :cond_4c
23284 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
23286 + move-result v0
23288 + if-eqz v0, :cond_4c
23290 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
23292 + move-result-object v5
23294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23296 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
23298 + move-result v3
23300 + const-string v4, "line1Number"
23302 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23304 + :goto_4b
23305 + return-object v5
23307 + :cond_4c
23308 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getVoiceMailAlphaTag()Ljava/lang/String;
23310 + move-result-object v5
23312 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23314 + const/4 v3, 0x0
23316 + const-string v4, "line1Number"
23318 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23320 + goto :goto_4b
23321 +.end method
23323 +.method public getVoiceMailNumber()Ljava/lang/String;
23324 + .registers 8
23326 + const-string v0, "PrivacyCDMALTEPhone"
23328 + new-instance v3, Ljava/lang/StringBuilder;
23330 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23332 + const-string v4, "Package: "
23334 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23336 + move-result-object v3
23338 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23340 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23342 + move-result-object v4
23344 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23346 + move-result-object v3
23348 + const-string v4, " asked for getVoiceMailNumber()"
23350 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23352 + move-result-object v3
23354 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23356 + move-result-object v3
23358 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23360 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->context:Landroid/content/Context;
23362 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23364 + move-result-object v1
23366 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23368 + move-result v2
23370 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23372 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23374 + move-result-object v6
23376 + if-eqz v6, :cond_4c
23378 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
23380 + move-result v0
23382 + if-eqz v0, :cond_4c
23384 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
23386 + move-result-object v5
23388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23390 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
23392 + move-result v3
23394 + const-string v4, "line1Number"
23396 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23398 + :goto_4b
23399 + return-object v5
23401 + :cond_4c
23402 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;->getVoiceMailNumber()Ljava/lang/String;
23404 + move-result-object v5
23406 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23408 + const/4 v3, 0x0
23410 + const-string v4, "line1Number"
23412 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23414 + goto :goto_4b
23415 +.end method
23416 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCDMAPhone.smali ext-framework/smali/android/privacy/surrogate/PrivacyCDMAPhone.smali
23417 --- stock-framework/smali/android/privacy/surrogate/PrivacyCDMAPhone.smali 1969-12-31 18:00:00.000000000 -0600
23418 +++ ext-framework/smali/android/privacy/surrogate/PrivacyCDMAPhone.smali 2012-11-08 09:11:56.562841810 -0600
23419 @@ -0,0 +1,1602 @@
23420 +.class public Landroid/privacy/surrogate/PrivacyCDMAPhone;
23421 +.super Lcom/android/internal/telephony/cdma/CDMAPhone;
23422 +.source "PrivacyCDMAPhone.java"
23425 +# static fields
23426 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyCDMAPhone"
23429 +# instance fields
23430 +.field private context:Landroid/content/Context;
23432 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
23435 +# direct methods
23436 +.method public constructor <init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
23437 + .registers 7
23439 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/cdma/CDMAPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
23441 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23443 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
23445 + const-string/jumbo v1, "privacy"
23447 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
23449 + move-result-object v1
23451 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
23453 + move-result-object v1
23455 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
23457 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23459 + const-string v0, "PrivacyCDMAPhone"
23461 + new-instance v1, Ljava/lang/StringBuilder;
23463 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
23465 + const-string v2, "Constructor ready for package: "
23467 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23469 + move-result-object v1
23471 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23473 + move-result-object v2
23475 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23477 + move-result-object v1
23479 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23481 + move-result-object v1
23483 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23485 + return-void
23486 +.end method
23489 +# virtual methods
23490 +.method public dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
23491 + .registers 10
23492 + .annotation system Ldalvik/annotation/Throws;
23493 + value = {
23494 + Lcom/android/internal/telephony/CallStateException;
23496 + .end annotation
23498 + const/4 v2, 0x0
23500 + const/4 v5, 0x0
23502 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23504 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23506 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23508 + move-result-object v1
23510 + const/4 v3, -0x1
23512 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23514 + move-result-object v7
23516 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23518 + if-eqz v0, :cond_31
23520 + if-eqz v7, :cond_31
23522 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
23524 + move-result v0
23526 + if-eqz v0, :cond_31
23528 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23530 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23532 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23534 + move-result-object v1
23536 + const/4 v3, 0x1
23538 + const-string/jumbo v4, "phoneCall"
23540 + move-object v6, v5
23542 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23544 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
23546 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
23548 + throw v0
23550 + :cond_31
23551 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23553 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23555 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23557 + move-result-object v1
23559 + const-string/jumbo v4, "phoneCall"
23561 + move v3, v2
23563 + move-object v6, v5
23565 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23567 + invoke-super {p0, p1}, Lcom/android/internal/telephony/cdma/CDMAPhone;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
23569 + move-result-object v0
23571 + return-object v0
23572 +.end method
23574 +.method public dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
23575 + .registers 11
23576 + .annotation system Ldalvik/annotation/Throws;
23577 + value = {
23578 + Lcom/android/internal/telephony/CallStateException;
23580 + .end annotation
23582 + const/4 v2, 0x0
23584 + const/4 v5, 0x0
23586 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23588 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23590 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23592 + move-result-object v1
23594 + const/4 v3, -0x1
23596 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23598 + move-result-object v7
23600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23602 + if-eqz v0, :cond_31
23604 + if-eqz v7, :cond_31
23606 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
23608 + move-result v0
23610 + if-eqz v0, :cond_31
23612 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23614 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23616 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23618 + move-result-object v1
23620 + const/4 v3, 0x1
23622 + const-string/jumbo v4, "phoneCall"
23624 + move-object v6, v5
23626 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23628 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
23630 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
23632 + throw v0
23634 + :cond_31
23635 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23637 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23639 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23641 + move-result-object v1
23643 + const-string/jumbo v4, "phoneCall"
23645 + move v3, v2
23647 + move-object v6, v5
23649 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23651 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/cdma/CDMAPhone;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
23653 + move-result-object v0
23655 + return-object v0
23656 +.end method
23658 +.method public getCellLocation()Landroid/telephony/CellLocation;
23659 + .registers 8
23661 + const/4 v5, 0x0
23663 + const/4 v2, 0x0
23665 + const-string v0, "PrivacyCDMAPhone"
23667 + new-instance v1, Ljava/lang/StringBuilder;
23669 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
23671 + const-string v3, "Package: "
23673 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23675 + move-result-object v1
23677 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23679 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23681 + move-result-object v3
23683 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23685 + move-result-object v1
23687 + const-string v3, " asked for getCellLocation()"
23689 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23691 + move-result-object v1
23693 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23695 + move-result-object v1
23697 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23699 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23701 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23703 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23705 + move-result-object v1
23707 + invoke-static {}, Landroid/os/Process;->myUid()I
23709 + move-result v3
23711 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23713 + move-result-object v6
23715 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23717 + if-eqz v0, :cond_5f
23719 + if-eqz v6, :cond_5f
23721 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
23723 + move-result v0
23725 + if-nez v0, :cond_48
23727 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
23729 + move-result v0
23731 + if-eqz v0, :cond_5f
23733 + :cond_48
23734 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23736 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23738 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23740 + move-result-object v1
23742 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
23744 + move-result v3
23746 + const-string v4, "locationNetwork"
23748 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23750 + new-instance v0, Landroid/telephony/cdma/CdmaCellLocation;
23752 + invoke-direct {v0}, Landroid/telephony/cdma/CdmaCellLocation;-><init>()V
23754 + :goto_5e
23755 + return-object v0
23757 + :cond_5f
23758 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23760 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23762 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23764 + move-result-object v1
23766 + const-string v4, "locationNetwork"
23768 + move v3, v2
23770 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23772 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getCellLocation()Landroid/telephony/CellLocation;
23774 + move-result-object v0
23776 + goto :goto_5e
23777 +.end method
23779 +.method public getDeviceId()Ljava/lang/String;
23780 + .registers 8
23782 + const-string v0, "PrivacyCDMAPhone"
23784 + new-instance v3, Ljava/lang/StringBuilder;
23786 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23788 + const-string v4, "Package: "
23790 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23792 + move-result-object v3
23794 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23796 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23798 + move-result-object v4
23800 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23802 + move-result-object v3
23804 + const-string v4, " asked for getDeviceId()"
23806 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23808 + move-result-object v3
23810 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23812 + move-result-object v3
23814 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23818 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23820 + move-result-object v1
23822 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23824 + move-result v2
23826 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23828 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23830 + move-result-object v6
23832 + if-eqz v6, :cond_4c
23834 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
23836 + move-result v0
23838 + if-eqz v0, :cond_4c
23840 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
23842 + move-result-object v5
23844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23846 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
23848 + move-result v3
23850 + const-string v4, "deviceID"
23852 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23854 + :goto_4b
23855 + return-object v5
23857 + :cond_4c
23858 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getDeviceId()Ljava/lang/String;
23860 + move-result-object v5
23862 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23864 + const/4 v3, 0x0
23866 + const-string v4, "deviceID"
23868 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23870 + goto :goto_4b
23871 +.end method
23873 +.method public getDeviceSvn()Ljava/lang/String;
23874 + .registers 8
23876 + const-string v0, "PrivacyCDMAPhone"
23878 + new-instance v3, Ljava/lang/StringBuilder;
23880 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23882 + const-string v4, "Package: "
23884 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23886 + move-result-object v3
23888 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23890 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23892 + move-result-object v4
23894 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23896 + move-result-object v3
23898 + const-string v4, " asked for getDeviceSvn()"
23900 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23902 + move-result-object v3
23904 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
23906 + move-result-object v3
23908 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
23910 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23912 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23914 + move-result-object v1
23916 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
23918 + move-result v2
23920 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23922 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
23924 + move-result-object v6
23926 + if-eqz v6, :cond_4c
23928 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
23930 + move-result v0
23932 + if-eqz v0, :cond_4c
23934 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
23936 + move-result-object v5
23938 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23940 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
23942 + move-result v3
23944 + const-string v4, "deviceID"
23946 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23948 + :goto_4b
23949 + return-object v5
23951 + :cond_4c
23952 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getDeviceSvn()Ljava/lang/String;
23954 + move-result-object v5
23956 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
23958 + const/4 v3, 0x0
23960 + const-string v4, "deviceID"
23962 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
23964 + goto :goto_4b
23965 +.end method
23967 +.method public getEsn()Ljava/lang/String;
23968 + .registers 8
23970 + const-string v0, "PrivacyCDMAPhone"
23972 + new-instance v3, Ljava/lang/StringBuilder;
23974 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
23976 + const-string v4, "Package: "
23978 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23980 + move-result-object v3
23982 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
23984 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
23986 + move-result-object v4
23988 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23990 + move-result-object v3
23992 + const-string v4, " asked for getEsn()"
23994 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
23996 + move-result-object v3
23998 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24000 + move-result-object v3
24002 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24004 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24006 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24008 + move-result-object v1
24010 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24012 + move-result v2
24014 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24016 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24018 + move-result-object v6
24020 + if-eqz v6, :cond_4c
24022 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
24024 + move-result v0
24026 + if-eqz v0, :cond_4c
24028 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
24030 + move-result-object v5
24032 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24034 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
24036 + move-result v3
24038 + const-string v4, "deviceID"
24040 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24042 + :goto_4b
24043 + return-object v5
24045 + :cond_4c
24046 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getEsn()Ljava/lang/String;
24048 + move-result-object v5
24050 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24052 + const/4 v3, 0x0
24054 + const-string v4, "deviceID"
24056 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24058 + goto :goto_4b
24059 +.end method
24061 +.method public getImei()Ljava/lang/String;
24062 + .registers 8
24064 + const-string v0, "PrivacyCDMAPhone"
24066 + new-instance v3, Ljava/lang/StringBuilder;
24068 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24070 + const-string v4, "Package: "
24072 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24074 + move-result-object v3
24076 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24078 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24080 + move-result-object v4
24082 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24084 + move-result-object v3
24086 + const-string v4, " asked for getImei"
24088 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24090 + move-result-object v3
24092 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24094 + move-result-object v3
24096 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24098 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24100 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24102 + move-result-object v1
24104 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24106 + move-result v2
24108 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24110 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24112 + move-result-object v6
24114 + if-eqz v6, :cond_4c
24116 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
24118 + move-result v0
24120 + if-eqz v0, :cond_4c
24122 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
24124 + move-result-object v5
24126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24128 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
24130 + move-result v3
24132 + const-string v4, "deviceID"
24134 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24136 + :goto_4b
24137 + return-object v5
24139 + :cond_4c
24140 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getImei()Ljava/lang/String;
24142 + move-result-object v5
24144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24146 + const/4 v3, 0x0
24148 + const-string v4, "deviceID"
24150 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24152 + goto :goto_4b
24153 +.end method
24155 +.method public getLine1AlphaTag()Ljava/lang/String;
24156 + .registers 8
24158 + const/4 v2, 0x0
24160 + const-string v0, "PrivacyCDMAPhone"
24162 + new-instance v1, Ljava/lang/StringBuilder;
24164 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24166 + const-string v3, "Package: "
24168 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24170 + move-result-object v1
24172 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24174 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24176 + move-result-object v3
24178 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24180 + move-result-object v1
24182 + const-string v3, " asked for getLine1AlphaTag()"
24184 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24186 + move-result-object v1
24188 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24190 + move-result-object v1
24192 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24194 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24196 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24198 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24200 + move-result-object v1
24202 + invoke-static {}, Landroid/os/Process;->myUid()I
24204 + move-result v3
24206 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24208 + move-result-object v6
24210 + const-string v5, ""
24212 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24214 + if-eqz v0, :cond_59
24216 + if-eqz v6, :cond_59
24218 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24220 + move-result v0
24222 + if-eqz v0, :cond_59
24224 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
24226 + move-result-object v5
24228 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24230 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24232 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24234 + move-result-object v1
24236 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24238 + move-result v3
24240 + const-string v4, "line1Number"
24242 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24244 + :goto_58
24245 + return-object v5
24247 + :cond_59
24248 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24250 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24252 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24254 + move-result-object v1
24256 + const-string v4, "line1Number"
24258 + move v3, v2
24260 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24262 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getLine1AlphaTag()Ljava/lang/String;
24264 + move-result-object v5
24266 + goto :goto_58
24267 +.end method
24269 +.method public getLine1Number()Ljava/lang/String;
24270 + .registers 8
24272 + const/4 v2, 0x0
24274 + const-string v0, "PrivacyCDMAPhone"
24276 + new-instance v1, Ljava/lang/StringBuilder;
24278 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24280 + const-string v3, "Package: "
24282 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24284 + move-result-object v1
24286 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24288 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24290 + move-result-object v3
24292 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24294 + move-result-object v1
24296 + const-string v3, " asked for getLine1Number()"
24298 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24300 + move-result-object v1
24302 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24304 + move-result-object v1
24306 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24308 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24310 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24312 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24314 + move-result-object v1
24316 + invoke-static {}, Landroid/os/Process;->myUid()I
24318 + move-result v3
24320 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24322 + move-result-object v6
24324 + const-string v5, ""
24326 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24328 + if-eqz v0, :cond_59
24330 + if-eqz v6, :cond_59
24332 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24334 + move-result v0
24336 + if-eqz v0, :cond_59
24338 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
24340 + move-result-object v5
24342 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24344 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24346 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24348 + move-result-object v1
24350 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24352 + move-result v3
24354 + const-string v4, "line1Number"
24356 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24358 + :goto_58
24359 + return-object v5
24361 + :cond_59
24362 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24364 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24366 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24368 + move-result-object v1
24370 + const-string v4, "line1Number"
24372 + move v3, v2
24374 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24376 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getLine1Number()Ljava/lang/String;
24378 + move-result-object v5
24380 + goto :goto_58
24381 +.end method
24383 +.method public getMeid()Ljava/lang/String;
24384 + .registers 8
24386 + const-string v0, "PrivacyCDMAPhone"
24388 + new-instance v3, Ljava/lang/StringBuilder;
24390 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24392 + const-string v4, "Package: "
24394 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24396 + move-result-object v3
24398 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24400 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24402 + move-result-object v4
24404 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24406 + move-result-object v3
24408 + const-string v4, " asked for getMeid()"
24410 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24412 + move-result-object v3
24414 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24416 + move-result-object v3
24418 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24420 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24422 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24424 + move-result-object v1
24426 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24428 + move-result v2
24430 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24432 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24434 + move-result-object v6
24436 + if-eqz v6, :cond_4c
24438 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
24440 + move-result v0
24442 + if-eqz v0, :cond_4c
24444 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
24446 + move-result-object v5
24448 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24450 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
24452 + move-result v3
24454 + const-string v4, "deviceID"
24456 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24458 + :goto_4b
24459 + return-object v5
24461 + :cond_4c
24462 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getMeid()Ljava/lang/String;
24464 + move-result-object v5
24466 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24468 + const/4 v3, 0x0
24470 + const-string v4, "deviceID"
24472 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24474 + goto :goto_4b
24475 +.end method
24477 +.method public getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
24478 + .registers 8
24480 + const/4 v5, 0x0
24482 + const/4 v2, 0x0
24484 + const-string v0, "PrivacyCDMAPhone"
24486 + new-instance v1, Ljava/lang/StringBuilder;
24488 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24490 + const-string v3, "Package: "
24492 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24494 + move-result-object v1
24496 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24498 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24500 + move-result-object v3
24502 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24504 + move-result-object v1
24506 + const-string v3, " asked for getPhoneSubInfo()"
24508 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24510 + move-result-object v1
24512 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24514 + move-result-object v1
24516 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24518 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24520 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24522 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24524 + move-result-object v1
24526 + invoke-static {}, Landroid/os/Process;->myUid()I
24528 + move-result v3
24530 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24532 + move-result-object v6
24534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24536 + if-eqz v0, :cond_54
24538 + if-eqz v6, :cond_54
24540 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24542 + move-result v0
24544 + if-eqz v0, :cond_54
24546 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24548 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24550 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24552 + move-result-object v1
24554 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
24556 + move-result v3
24558 + const-string v4, "locationNetwork"
24560 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24562 + :goto_53
24563 + return-object v5
24565 + :cond_54
24566 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24568 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24570 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24572 + move-result-object v1
24574 + const-string v4, "locationNetwork"
24576 + move v3, v2
24578 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24580 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
24582 + move-result-object v5
24584 + goto :goto_53
24585 +.end method
24587 +.method public getServiceState()Landroid/telephony/ServiceState;
24588 + .registers 10
24590 + :try_start_0
24591 + const-string v0, "PrivacyCDMAPhone"
24593 + new-instance v1, Ljava/lang/StringBuilder;
24595 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
24597 + const-string v2, "Package: "
24599 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24601 + move-result-object v1
24603 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24605 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24607 + move-result-object v2
24609 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24611 + move-result-object v1
24613 + const-string v2, " asked for getServiceState()"
24615 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24617 + move-result-object v1
24619 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24621 + move-result-object v1
24623 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24627 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24629 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24631 + move-result-object v1
24633 + invoke-static {}, Landroid/os/Process;->myUid()I
24635 + move-result v2
24637 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24639 + move-result-object v6
24641 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24643 + if-eqz v0, :cond_61
24645 + if-eqz v6, :cond_61
24647 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
24649 + move-result v0
24651 + if-eqz v0, :cond_61
24653 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24655 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24657 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24659 + move-result-object v1
24661 + const/4 v2, 0x0
24663 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
24665 + move-result v3
24667 + const-string v4, "locationNetwork"
24669 + const/4 v5, 0x0
24671 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24673 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getServiceState()Landroid/telephony/ServiceState;
24675 + move-result-object v8
24677 + const-string v0, ""
24679 + const-string v1, ""
24681 + const-string v2, ""
24683 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24685 + :goto_60
24686 + return-object v8
24688 + :cond_61
24689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24691 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24693 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24695 + move-result-object v1
24697 + const/4 v2, 0x0
24699 + const/4 v3, 0x0
24701 + const-string v4, "locationNetwork"
24703 + const/4 v5, 0x0
24705 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24707 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getServiceState()Landroid/telephony/ServiceState;
24708 + :try_end_74
24709 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_74} :catch_76
24711 + move-result-object v8
24713 + goto :goto_60
24715 + :catch_76
24716 + move-exception v7
24718 + invoke-virtual {v7}, Ljava/lang/Exception;->printStackTrace()V
24720 + const-string v0, "PrivacyCDMAPhone"
24722 + const-string v1, "We got exception in getServiceState()-> give fake state"
24724 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
24726 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getServiceState()Landroid/telephony/ServiceState;
24728 + move-result-object v8
24730 + const-string v0, ""
24732 + const-string v1, ""
24734 + const-string v2, ""
24736 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
24738 + goto :goto_60
24739 +.end method
24741 +.method public getSubscriberId()Ljava/lang/String;
24742 + .registers 8
24744 + const-string v0, "PrivacyCDMAPhone"
24746 + new-instance v3, Ljava/lang/StringBuilder;
24748 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24750 + const-string v4, "Package: "
24752 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24754 + move-result-object v3
24756 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24758 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24760 + move-result-object v4
24762 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24764 + move-result-object v3
24766 + const-string v4, " asked for getSubscriberId()"
24768 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24770 + move-result-object v3
24772 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24774 + move-result-object v3
24776 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24778 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24780 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24782 + move-result-object v1
24784 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24786 + move-result v2
24788 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24790 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24792 + move-result-object v6
24794 + if-eqz v6, :cond_4d
24796 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
24798 + move-result v0
24800 + if-eqz v0, :cond_4d
24802 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
24804 + move-result-object v5
24806 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24808 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
24810 + move-result v3
24812 + const-string/jumbo v4, "subscriberID"
24814 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24816 + :goto_4c
24817 + return-object v5
24819 + :cond_4d
24820 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getSubscriberId()Ljava/lang/String;
24822 + move-result-object v5
24824 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24826 + const/4 v3, 0x0
24828 + const-string/jumbo v4, "subscriberID"
24830 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24832 + goto :goto_4c
24833 +.end method
24835 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
24836 + .registers 8
24838 + const-string v0, "PrivacyCDMAPhone"
24840 + new-instance v3, Ljava/lang/StringBuilder;
24842 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24844 + const-string v4, "Package: "
24846 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24848 + move-result-object v3
24850 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24852 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24854 + move-result-object v4
24856 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24858 + move-result-object v3
24860 + const-string v4, " asked for getVoiceMailAlphaTag()"
24862 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24864 + move-result-object v3
24866 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24868 + move-result-object v3
24870 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24872 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24874 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24876 + move-result-object v1
24878 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24880 + move-result v2
24882 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24884 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24886 + move-result-object v6
24888 + if-eqz v6, :cond_4c
24890 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24892 + move-result v0
24894 + if-eqz v0, :cond_4c
24896 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
24898 + move-result-object v5
24900 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24902 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24904 + move-result v3
24906 + const-string v4, "line1Number"
24908 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24910 + :goto_4b
24911 + return-object v5
24913 + :cond_4c
24914 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getVoiceMailAlphaTag()Ljava/lang/String;
24916 + move-result-object v5
24918 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24920 + const/4 v3, 0x0
24922 + const-string v4, "line1Number"
24924 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
24926 + goto :goto_4b
24927 +.end method
24929 +.method public getVoiceMailNumber()Ljava/lang/String;
24930 + .registers 8
24932 + const-string v0, "PrivacyCDMAPhone"
24934 + new-instance v3, Ljava/lang/StringBuilder;
24936 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
24938 + const-string v4, "Package: "
24940 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24942 + move-result-object v3
24944 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24946 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24948 + move-result-object v4
24950 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24952 + move-result-object v3
24954 + const-string v4, " asked for getVoiceMailNumber()"
24956 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
24958 + move-result-object v3
24960 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
24962 + move-result-object v3
24964 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
24966 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->context:Landroid/content/Context;
24968 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
24970 + move-result-object v1
24972 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
24974 + move-result v2
24976 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24978 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
24980 + move-result-object v6
24982 + if-eqz v6, :cond_4c
24984 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24986 + move-result v0
24988 + if-eqz v0, :cond_4c
24990 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
24992 + move-result-object v5
24994 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
24996 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
24998 + move-result v3
25000 + const-string v4, "line1Number"
25002 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25004 + :goto_4b
25005 + return-object v5
25007 + :cond_4c
25008 + invoke-super {p0}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getVoiceMailNumber()Ljava/lang/String;
25010 + move-result-object v5
25012 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCDMAPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25014 + const/4 v3, 0x0
25016 + const-string v4, "line1Number"
25018 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25020 + goto :goto_4b
25021 +.end method
25022 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali ext-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali
25023 --- stock-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 1969-12-31 18:00:00.000000000 -0600
25024 +++ ext-framework/smali/android/privacy/surrogate/PrivacyConnectivityManager.smali 2012-11-08 09:11:56.562841810 -0600
25025 @@ -0,0 +1,1045 @@
25026 +.class public Landroid/privacy/surrogate/PrivacyConnectivityManager;
25027 +.super Landroid/net/ConnectivityManager;
25028 +.source "PrivacyConnectivityManager.java"
25031 +# static fields
25032 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyConnectivityManager"
25035 +# instance fields
25036 +.field private context:Landroid/content/Context;
25038 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
25041 +# direct methods
25042 +.method public constructor <init>(Landroid/net/IConnectivityManager;Landroid/content/Context;)V
25043 + .registers 6
25045 + invoke-direct {p0, p1}, Landroid/net/ConnectivityManager;-><init>(Landroid/net/IConnectivityManager;)V
25047 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25049 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
25051 + const-string/jumbo v1, "privacy"
25053 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
25055 + move-result-object v1
25057 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
25059 + move-result-object v1
25061 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
25063 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25065 + const-string v0, "PrivacyConnectivityManager"
25067 + new-instance v1, Ljava/lang/StringBuilder;
25069 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
25071 + const-string/jumbo v2, "now in constructor for package: "
25073 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25075 + move-result-object v1
25077 + invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25079 + move-result-object v2
25081 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
25083 + move-result-object v1
25085 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
25087 + move-result-object v1
25089 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
25091 + return-void
25092 +.end method
25095 +# virtual methods
25096 +.method public getActiveLinkProperties()Landroid/net/LinkProperties;
25097 + .registers 10
25099 + const/4 v2, -0x1
25101 + const/4 v5, 0x0
25103 + new-instance v7, Landroid/net/LinkProperties;
25105 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
25107 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25109 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25111 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25113 + move-result-object v1
25115 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25117 + move-result v3
25119 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25121 + move-result-object v8
25123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25125 + if-eqz v0, :cond_34
25127 + if-eqz v8, :cond_34
25129 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25131 + move-result v0
25133 + if-eqz v0, :cond_34
25135 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25137 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25139 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25141 + move-result-object v1
25143 + const/4 v3, 0x1
25145 + const-string/jumbo v4, "networkInfoCurrent"
25147 + move-object v6, v5
25149 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25151 + :goto_33
25152 + return-object v7
25154 + :cond_34
25155 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25157 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25159 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25161 + move-result-object v1
25163 + const/4 v3, 0x0
25165 + const-string/jumbo v4, "networkInfoCurrent"
25167 + move-object v6, v5
25169 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25171 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
25173 + move-result-object v7
25175 + goto :goto_33
25176 +.end method
25178 +.method public getActiveNetworkInfo()Landroid/net/NetworkInfo;
25179 + .registers 10
25181 + const/4 v3, 0x1
25183 + const/4 v2, -0x1
25185 + const/4 v6, 0x0
25187 + const/4 v5, 0x0
25189 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25191 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25193 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25195 + move-result-object v1
25197 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25199 + move-result v4
25201 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25203 + move-result-object v8
25205 + new-instance v7, Landroid/net/NetworkInfo;
25207 + const-string v0, "MOBILE"
25209 + const-string v1, "UNKNOWN"
25211 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
25213 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25215 + if-eqz v0, :cond_31
25217 + if-eqz v8, :cond_31
25219 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25221 + move-result v0
25223 + if-nez v0, :cond_31
25225 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
25227 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
25229 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
25231 + :cond_31
25232 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25234 + if-eqz v0, :cond_4d
25236 + if-eqz v8, :cond_4d
25238 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25240 + move-result v0
25242 + if-eqz v0, :cond_4d
25244 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25246 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25248 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25250 + move-result-object v1
25252 + const-string/jumbo v4, "networkInfoCurrent"
25254 + move-object v6, v5
25256 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25258 + :goto_4c
25259 + return-object v7
25261 + :cond_4d
25262 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25264 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25266 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25268 + move-result-object v1
25270 + const-string/jumbo v4, "networkInfoCurrent"
25272 + move v3, v6
25274 + move-object v6, v5
25276 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25278 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
25280 + move-result-object v7
25282 + goto :goto_4c
25283 +.end method
25285 +.method public getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
25286 + .registers 11
25288 + const/4 v3, 0x1
25290 + const/4 v2, -0x1
25292 + const/4 v6, 0x0
25294 + const/4 v5, 0x0
25296 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25298 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25300 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25302 + move-result-object v1
25304 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25306 + move-result v4
25308 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25310 + move-result-object v8
25312 + new-instance v7, Landroid/net/NetworkInfo;
25314 + const-string v0, "MOBILE"
25316 + const-string v1, "UNKNOWN"
25318 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
25320 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25322 + if-eqz v0, :cond_31
25324 + if-eqz v8, :cond_31
25326 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25328 + move-result v0
25330 + if-nez v0, :cond_31
25332 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
25334 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
25336 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
25338 + :cond_31
25339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25341 + if-eqz v0, :cond_4d
25343 + if-eqz v8, :cond_4d
25345 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25347 + move-result v0
25349 + if-eqz v0, :cond_4d
25351 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25353 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25355 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25357 + move-result-object v1
25359 + const-string/jumbo v4, "networkInfoCurrent"
25361 + move-object v6, v5
25363 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25365 + :goto_4c
25366 + return-object v7
25368 + :cond_4d
25369 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25371 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25373 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25375 + move-result-object v1
25377 + const-string/jumbo v4, "networkInfoCurrent"
25379 + move v3, v6
25381 + move-object v6, v5
25383 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25385 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getActiveNetworkInfoForUid(I)Landroid/net/NetworkInfo;
25387 + move-result-object v7
25389 + goto :goto_4c
25390 +.end method
25392 +.method public getAllNetworkInfo()[Landroid/net/NetworkInfo;
25393 + .registers 10
25395 + const/4 v2, -0x1
25397 + const/4 v3, 0x1
25399 + const/4 v5, 0x0
25401 + const/4 v6, 0x0
25403 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25405 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25407 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25409 + move-result-object v1
25411 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25413 + move-result v4
25415 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25417 + move-result-object v8
25419 + new-array v7, v3, [Landroid/net/NetworkInfo;
25421 + new-instance v0, Landroid/net/NetworkInfo;
25423 + const-string v1, "MOBILE"
25425 + const-string v4, "CONNECTED"
25427 + invoke-direct {v0, v6, v6, v1, v4}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
25429 + aput-object v0, v7, v6
25431 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25433 + if-eqz v0, :cond_39
25435 + if-eqz v8, :cond_39
25437 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25439 + move-result v0
25441 + if-nez v0, :cond_39
25443 + aget-object v0, v7, v6
25445 + invoke-virtual {v0, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
25447 + aget-object v0, v7, v6
25449 + sget-object v1, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
25451 + invoke-virtual {v0, v1}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
25453 + :cond_39
25454 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25456 + if-eqz v0, :cond_55
25458 + if-eqz v8, :cond_55
25460 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25462 + move-result v0
25464 + if-eqz v0, :cond_55
25466 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25468 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25470 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25472 + move-result-object v1
25474 + const-string/jumbo v4, "networkInfoCurrent"
25476 + move-object v6, v5
25478 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25480 + :goto_54
25481 + return-object v7
25483 + :cond_55
25484 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25486 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25488 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25490 + move-result-object v1
25492 + const-string/jumbo v4, "networkInfoCurrent"
25494 + move v3, v6
25496 + move-object v6, v5
25498 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25500 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
25502 + move-result-object v7
25504 + goto :goto_54
25505 +.end method
25507 +.method public getLinkProperties(I)Landroid/net/LinkProperties;
25508 + .registers 11
25510 + const/4 v2, -0x1
25512 + const/4 v5, 0x0
25514 + new-instance v7, Landroid/net/LinkProperties;
25516 + invoke-direct {v7}, Landroid/net/LinkProperties;-><init>()V
25518 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25520 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25522 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25524 + move-result-object v1
25526 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25528 + move-result v3
25530 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25532 + move-result-object v8
25534 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25536 + if-eqz v0, :cond_34
25538 + if-eqz v8, :cond_34
25540 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25542 + move-result v0
25544 + if-eqz v0, :cond_34
25546 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25548 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25550 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25552 + move-result-object v1
25554 + const/4 v3, 0x1
25556 + const-string/jumbo v4, "networkInfoCurrent"
25558 + move-object v6, v5
25560 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25562 + :goto_33
25563 + return-object v7
25565 + :cond_34
25566 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25568 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25570 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25572 + move-result-object v1
25574 + const/4 v3, 0x0
25576 + const-string/jumbo v4, "networkInfoCurrent"
25578 + move-object v6, v5
25580 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25582 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getLinkProperties(I)Landroid/net/LinkProperties;
25584 + move-result-object v7
25586 + goto :goto_33
25587 +.end method
25589 +.method public getMobileDataEnabled()Z
25590 + .registers 9
25592 + const/4 v3, 0x1
25594 + const/4 v2, -0x1
25596 + const/4 v5, 0x0
25598 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25600 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25602 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25604 + move-result-object v1
25606 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25608 + move-result v4
25610 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25612 + move-result-object v7
25614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25616 + if-eqz v0, :cond_2f
25618 + if-eqz v7, :cond_2f
25620 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25622 + move-result v0
25624 + if-nez v0, :cond_2f
25626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25628 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25630 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25632 + move-result-object v1
25634 + const-string/jumbo v4, "networkInfoCurrent"
25636 + move-object v6, v5
25638 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25640 + :goto_2e
25641 + return v3
25643 + :cond_2f
25644 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25646 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25648 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25650 + move-result-object v1
25652 + const/4 v3, 0x0
25654 + const-string/jumbo v4, "networkInfoCurrent"
25656 + move-object v6, v5
25658 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25660 + invoke-super {p0}, Landroid/net/ConnectivityManager;->getMobileDataEnabled()Z
25662 + move-result v3
25664 + goto :goto_2e
25665 +.end method
25667 +.method public getNetworkInfo(I)Landroid/net/NetworkInfo;
25668 + .registers 11
25670 + const/4 v3, 0x1
25672 + const/4 v2, -0x1
25674 + const/4 v6, 0x0
25676 + const/4 v5, 0x0
25678 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25680 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25682 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25684 + move-result-object v1
25686 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25688 + move-result v4
25690 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25692 + move-result-object v8
25694 + new-instance v7, Landroid/net/NetworkInfo;
25696 + const-string v0, "MOBILE"
25698 + const-string v1, "CONNECTED"
25700 + invoke-direct {v7, v6, v6, v0, v1}, Landroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
25702 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25704 + if-eqz v0, :cond_31
25706 + if-eqz v8, :cond_31
25708 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25710 + move-result v0
25712 + if-nez v0, :cond_31
25714 + invoke-virtual {v7, v3}, Landroid/net/NetworkInfo;->setIsAvailable(Z)V
25716 + sget-object v0, Landroid/net/NetworkInfo$State;->CONNECTED:Landroid/net/NetworkInfo$State;
25718 + invoke-virtual {v7, v0}, Landroid/net/NetworkInfo;->setState(Landroid/net/NetworkInfo$State;)V
25720 + :cond_31
25721 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25723 + if-eqz v0, :cond_4d
25725 + if-eqz v8, :cond_4d
25727 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25729 + move-result v0
25731 + if-eqz v0, :cond_4d
25733 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25735 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25737 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25739 + move-result-object v1
25741 + const-string/jumbo v4, "networkInfoCurrent"
25743 + move-object v6, v5
25745 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25747 + :goto_4c
25748 + return-object v7
25750 + :cond_4d
25751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25753 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25755 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25757 + move-result-object v1
25759 + const-string/jumbo v4, "networkInfoCurrent"
25761 + move v3, v6
25763 + move-object v6, v5
25765 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25767 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
25769 + move-result-object v7
25771 + goto :goto_4c
25772 +.end method
25774 +.method public requestRouteToHost(II)Z
25775 + .registers 12
25777 + const/4 v8, 0x0
25779 + const/4 v3, 0x1
25781 + const/4 v2, -0x1
25783 + const/4 v5, 0x0
25785 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25787 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25789 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25791 + move-result-object v1
25793 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25795 + move-result v4
25797 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25799 + move-result-object v7
25801 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25803 + if-eqz v0, :cond_30
25805 + if-eqz v7, :cond_30
25807 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25809 + move-result v0
25811 + if-nez v0, :cond_30
25813 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25815 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25817 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25819 + move-result-object v1
25821 + const-string/jumbo v4, "networkInfoCurrent"
25823 + move-object v6, v5
25825 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25827 + :goto_2f
25828 + return v3
25830 + :cond_30
25831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25833 + if-eqz v0, :cond_4d
25835 + if-eqz v7, :cond_4d
25837 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25839 + move-result v0
25841 + if-eqz v0, :cond_4d
25843 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25845 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25847 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25849 + move-result-object v1
25851 + const-string/jumbo v4, "networkInfoCurrent"
25853 + move-object v6, v5
25855 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25857 + move v3, v8
25859 + goto :goto_2f
25861 + :cond_4d
25862 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25864 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25866 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25868 + move-result-object v1
25870 + const-string/jumbo v4, "networkInfoCurrent"
25872 + move v3, v8
25874 + move-object v6, v5
25876 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25878 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHost(II)Z
25880 + move-result v3
25882 + goto :goto_2f
25883 +.end method
25885 +.method public requestRouteToHostAddress(ILjava/net/InetAddress;)Z
25886 + .registers 12
25888 + const/4 v8, 0x0
25890 + const/4 v3, 0x1
25892 + const/4 v2, -0x1
25894 + const/4 v5, 0x0
25896 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25898 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25900 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25902 + move-result-object v1
25904 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
25906 + move-result v4
25908 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
25910 + move-result-object v7
25912 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25914 + if-eqz v0, :cond_30
25916 + if-eqz v7, :cond_30
25918 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
25920 + move-result v0
25922 + if-nez v0, :cond_30
25924 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25926 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25928 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25930 + move-result-object v1
25932 + const-string/jumbo v4, "networkInfoCurrent"
25934 + move-object v6, v5
25936 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25938 + :goto_2f
25939 + return v3
25941 + :cond_30
25942 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25944 + if-eqz v0, :cond_4d
25946 + if-eqz v7, :cond_4d
25948 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
25950 + move-result v0
25952 + if-eqz v0, :cond_4d
25954 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25956 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25958 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25960 + move-result-object v1
25962 + const-string/jumbo v4, "networkInfoCurrent"
25964 + move-object v6, v5
25966 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25968 + move v3, v8
25970 + goto :goto_2f
25972 + :cond_4d
25973 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
25975 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
25977 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
25979 + move-result-object v1
25981 + const-string/jumbo v4, "networkInfoCurrent"
25983 + move v3, v8
25985 + move-object v6, v5
25987 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
25989 + invoke-super {p0, p1, p2}, Landroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
25991 + move-result v3
25993 + goto :goto_2f
25994 +.end method
25996 +.method public setMobileDataEnabled(Z)V
25997 + .registers 10
25999 + const/4 v2, -0x1
26001 + const/4 v5, 0x0
26003 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26005 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
26007 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
26009 + move-result-object v1
26011 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
26013 + move-result v3
26015 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
26017 + move-result-object v7
26019 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26021 + if-eqz v0, :cond_2f
26023 + if-eqz v7, :cond_2f
26025 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchConnectivitySetting()B
26027 + move-result v0
26029 + if-eqz v0, :cond_2f
26031 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26033 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
26035 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
26037 + move-result-object v1
26039 + const/4 v3, 0x1
26041 + const-string/jumbo v4, "switchconnectivity"
26043 + move-object v6, v5
26045 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26047 + :goto_2e
26048 + return-void
26050 + :cond_2f
26051 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26053 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyConnectivityManager;->context:Landroid/content/Context;
26055 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
26057 + move-result-object v1
26059 + const/4 v3, 0x0
26061 + const-string/jumbo v4, "switchconnectivity"
26063 + move-object v6, v5
26065 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26067 + invoke-super {p0, p1}, Landroid/net/ConnectivityManager;->setMobileDataEnabled(Z)V
26069 + goto :goto_2e
26070 +.end method
26071 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali ext-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali
26072 --- stock-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 1969-12-31 18:00:00.000000000 -0600
26073 +++ ext-framework/smali/android/privacy/surrogate/PrivacyContentResolver.smali 2012-11-08 09:11:56.658842285 -0600
26074 @@ -0,0 +1,871 @@
26075 +.class public final Landroid/privacy/surrogate/PrivacyContentResolver;
26076 +.super Ljava/lang/Object;
26077 +.source "PrivacyContentResolver.java"
26080 +# static fields
26081 +.field private static final TAG:Ljava/lang/String; = "PrivacyContentResolver"
26083 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
26086 +# direct methods
26087 +.method public constructor <init>()V
26088 + .registers 1
26090 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
26092 + return-void
26093 +.end method
26095 +.method private static arrayToString([Ljava/lang/String;)Ljava/lang/String;
26096 + .registers 8
26098 + new-instance v4, Ljava/lang/StringBuffer;
26100 + invoke-direct {v4}, Ljava/lang/StringBuffer;-><init>()V
26102 + if-eqz p0, :cond_2d
26104 + move-object v0, p0
26106 + array-length v3, v0
26108 + const/4 v2, 0x0
26110 + :goto_a
26111 + if-ge v2, v3, :cond_30
26113 + aget-object v1, v0, v2
26115 + new-instance v5, Ljava/lang/StringBuilder;
26117 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
26119 + const-string v6, "["
26121 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26123 + move-result-object v5
26125 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26127 + move-result-object v5
26129 + const-string v6, "]"
26131 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26133 + move-result-object v5
26135 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26137 + move-result-object v5
26139 + invoke-virtual {v4, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
26141 + add-int/lit8 v2, v2, 0x1
26143 + goto :goto_a
26145 + :cond_2d
26146 + const-string v5, ""
26148 + :goto_2f
26149 + return-object v5
26151 + :cond_30
26152 + invoke-virtual {v4}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
26154 + move-result-object v5
26156 + goto :goto_2f
26157 +.end method
26159 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;)Landroid/database/Cursor;
26160 + .registers 21
26161 + .annotation system Ldalvik/annotation/Throws;
26162 + value = {
26163 + Landroid/os/RemoteException;
26165 + .end annotation
26167 + if-eqz p0, :cond_1e4
26169 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26171 + if-nez v1, :cond_13
26173 + const-string/jumbo v1, "privacy"
26175 + move-object/from16 v0, p2
26177 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
26179 + move-result-object v1
26181 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
26183 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26185 + :cond_13
26186 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
26188 + move-result-object v2
26190 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
26192 + move-result v3
26194 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26196 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
26198 + move-result-object v7
26200 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26202 + move-result-object v9
26204 + const-string v15, "[real]"
26206 + move-object/from16 v13, p3
26208 + if-eqz v9, :cond_54
26210 + const-string v1, "contacts"
26212 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26214 + move-result v1
26216 + if-nez v1, :cond_3b
26218 + const-string v1, "com.android.contacts"
26220 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26222 + move-result v1
26224 + if-eqz v1, :cond_ab
26226 + :cond_3b
26227 + if-eqz v7, :cond_54
26229 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
26231 + move-result v1
26233 + const/4 v4, 0x1
26235 + if-ne v1, v4, :cond_55
26237 + const-string v15, "[empty]"
26239 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26241 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26243 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26245 + const/4 v4, 0x1
26247 + const-string v5, "contacts"
26249 + const/4 v6, 0x0
26251 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26253 + :cond_54
26254 + :goto_54
26255 + return-object v13
26257 + :cond_55
26258 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getContactsSetting()B
26260 + move-result v1
26262 + const/4 v4, 0x2
26264 + if-ne v1, v4, :cond_a1
26266 + invoke-virtual/range {p0 .. p0}, Landroid/net/Uri;->toString()Ljava/lang/String;
26268 + move-result-object v1
26270 + sget-object v4, Landroid/provider/ContactsContract$Contacts;->CONTENT_URI:Landroid/net/Uri;
26272 + invoke-virtual {v4}, Landroid/net/Uri;->toString()Ljava/lang/String;
26274 + move-result-object v4
26276 + invoke-virtual {v1, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
26278 + move-result v1
26280 + if-eqz v1, :cond_a1
26282 + const/4 v11, 0x0
26284 + if-eqz p1, :cond_82
26286 + move-object/from16 v8, p1
26288 + array-length v12, v8
26290 + const/4 v10, 0x0
26292 + :goto_73
26293 + if-ge v10, v12, :cond_82
26295 + aget-object v16, v8, v10
26297 + const-string v1, "_id"
26299 + move-object/from16 v0, v16
26301 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26303 + move-result v1
26305 + if-eqz v1, :cond_93
26307 + const/4 v11, 0x1
26309 + :cond_82
26310 + if-nez v11, :cond_96
26312 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26314 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26316 + :goto_89
26317 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26319 + const/4 v4, 0x2
26321 + const-string v5, "contacts"
26323 + const/4 v6, 0x0
26325 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26327 + goto :goto_54
26329 + :cond_93
26330 + add-int/lit8 v10, v10, 0x1
26332 + goto :goto_73
26334 + :cond_96
26335 + new-instance v14, Landroid/privacy/surrogate/PrivacyCursor;
26337 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getAllowedContacts()[I
26339 + move-result-object v1
26341 + invoke-direct {v14, v13, v1}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;[I)V
26343 + move-object v13, v14
26345 + goto :goto_89
26347 + :cond_a1
26348 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26350 + const/4 v4, 0x0
26352 + const-string v5, "contacts"
26354 + const/4 v6, 0x0
26356 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26358 + goto :goto_54
26360 + :cond_ab
26361 + const-string v1, "com.android.calendar"
26363 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26365 + move-result v1
26367 + if-eqz v1, :cond_d8
26369 + if-eqz v7, :cond_cd
26371 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCalendarSetting()B
26373 + move-result v1
26375 + const/4 v4, 0x1
26377 + if-ne v1, v4, :cond_cd
26379 + const-string v15, "[empty]"
26381 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26383 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26385 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26387 + const/4 v4, 0x1
26389 + const-string v5, "calendar"
26391 + const/4 v6, 0x0
26393 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26395 + goto :goto_54
26397 + :cond_cd
26398 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26400 + const/4 v4, 0x0
26402 + const-string v5, "calendar"
26404 + const/4 v6, 0x0
26406 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26408 + goto/16 :goto_54
26410 + :cond_d8
26411 + sget-object v1, Landroid/provider/Telephony$Mms;->CONTENT_URI:Landroid/net/Uri;
26413 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26415 + move-result-object v1
26417 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26419 + move-result v1
26421 + if-eqz v1, :cond_10c
26423 + if-eqz v7, :cond_100
26425 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
26427 + move-result v1
26429 + const/4 v4, 0x1
26431 + if-ne v1, v4, :cond_100
26433 + const-string v15, "[empty]"
26435 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26437 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26439 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26441 + const/4 v4, 0x1
26443 + const-string/jumbo v5, "mms"
26445 + const/4 v6, 0x0
26447 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26449 + goto/16 :goto_54
26451 + :cond_100
26452 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26454 + const/4 v4, 0x0
26456 + const-string/jumbo v5, "mms"
26458 + const/4 v6, 0x0
26460 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26462 + goto/16 :goto_54
26464 + :cond_10c
26465 + sget-object v1, Landroid/provider/Telephony$Sms;->CONTENT_URI:Landroid/net/Uri;
26467 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26469 + move-result-object v1
26471 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26473 + move-result v1
26475 + if-eqz v1, :cond_140
26477 + if-eqz v7, :cond_134
26479 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
26481 + move-result v1
26483 + const/4 v4, 0x1
26485 + if-ne v1, v4, :cond_134
26487 + const-string v15, "[empty]"
26489 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26491 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26493 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26495 + const/4 v4, 0x1
26497 + const-string/jumbo v5, "sms"
26499 + const/4 v6, 0x0
26501 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26503 + goto/16 :goto_54
26505 + :cond_134
26506 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26508 + const/4 v4, 0x0
26510 + const-string/jumbo v5, "sms"
26512 + const/4 v6, 0x0
26514 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26516 + goto/16 :goto_54
26518 + :cond_140
26519 + sget-object v1, Landroid/provider/Telephony$MmsSms;->CONTENT_URI:Landroid/net/Uri;
26521 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26523 + move-result-object v1
26525 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26527 + move-result v1
26529 + if-nez v1, :cond_155
26531 + const-string/jumbo v1, "mms-sms-v2"
26533 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26535 + move-result v1
26537 + if-eqz v1, :cond_184
26539 + :cond_155
26540 + if-eqz v7, :cond_178
26542 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getMmsSetting()B
26544 + move-result v1
26546 + const/4 v4, 0x1
26548 + if-eq v1, v4, :cond_165
26550 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSmsSetting()B
26552 + move-result v1
26554 + const/4 v4, 0x1
26556 + if-ne v1, v4, :cond_178
26558 + :cond_165
26559 + const-string v15, "[empty]"
26561 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26563 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26565 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26567 + const/4 v4, 0x1
26569 + const-string/jumbo v5, "mmsSms"
26571 + const/4 v6, 0x0
26573 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26575 + goto/16 :goto_54
26577 + :cond_178
26578 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26580 + const/4 v4, 0x0
26582 + const-string/jumbo v5, "mmsSms"
26584 + const/4 v6, 0x0
26586 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26588 + goto/16 :goto_54
26590 + :cond_184
26591 + const-string v1, "call_log"
26593 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26595 + move-result v1
26597 + if-eqz v1, :cond_1b2
26599 + if-eqz v7, :cond_1a7
26601 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getCallLogSetting()B
26603 + move-result v1
26605 + const/4 v4, 0x1
26607 + if-ne v1, v4, :cond_1a7
26609 + const-string v15, "[empty]"
26611 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26613 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26615 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26617 + const/4 v4, 0x1
26619 + const-string v5, "callLog"
26621 + const/4 v6, 0x0
26623 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26625 + goto/16 :goto_54
26627 + :cond_1a7
26628 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26630 + const/4 v4, 0x0
26632 + const-string v5, "callLog"
26634 + const/4 v6, 0x0
26636 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26638 + goto/16 :goto_54
26640 + :cond_1b2
26641 + sget-object v1, Landroid/provider/Browser;->BOOKMARKS_URI:Landroid/net/Uri;
26643 + invoke-virtual {v1}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26645 + move-result-object v1
26647 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26649 + move-result v1
26651 + if-eqz v1, :cond_54
26653 + if-eqz v7, :cond_1d9
26655 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getBookmarksSetting()B
26657 + move-result v1
26659 + const/4 v4, 0x1
26661 + if-ne v1, v4, :cond_1d9
26663 + const-string v15, "[empty]"
26665 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26667 + invoke-direct {v13}, Landroid/privacy/surrogate/PrivacyCursor;-><init>()V
26669 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26671 + const/4 v4, 0x1
26673 + const-string v5, "bookmarks"
26675 + const/4 v6, 0x0
26677 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26679 + goto/16 :goto_54
26681 + :cond_1d9
26682 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26684 + const/4 v4, 0x0
26686 + const-string v5, "bookmarks"
26688 + const/4 v6, 0x0
26690 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26692 + goto/16 :goto_54
26694 + :cond_1e4
26695 + move-object/from16 v13, p3
26697 + goto/16 :goto_54
26698 +.end method
26700 +.method public static enforcePrivacyPermission(Landroid/net/Uri;[Ljava/lang/String;Landroid/content/Context;Landroid/database/Cursor;Z)Landroid/database/Cursor;
26701 + .registers 20
26702 + .annotation system Ldalvik/annotation/Throws;
26703 + value = {
26704 + Landroid/os/RemoteException;
26706 + .end annotation
26708 + if-eqz p0, :cond_c8
26710 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26712 + if-nez v1, :cond_13
26714 + const-string/jumbo v1, "privacy"
26716 + move-object/from16 v0, p2
26718 + invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
26720 + move-result-object v1
26722 + check-cast v1, Landroid/privacy/PrivacySettingsManager;
26724 + sput-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26726 + :cond_13
26727 + invoke-virtual/range {p2 .. p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
26729 + move-result-object v2
26731 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
26733 + move-result v3
26735 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26737 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
26739 + move-result-object v7
26741 + invoke-virtual {p0}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
26743 + move-result-object v9
26745 + const-string v14, "[real]"
26747 + move-object/from16 v13, p3
26749 + if-eqz v9, :cond_6d
26751 + const-string v1, "com.google.android.gsf.gservices"
26753 + invoke-virtual {v9, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26755 + move-result v1
26757 + if-eqz v1, :cond_6d
26759 + if-eqz v7, :cond_b6
26761 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
26763 + move-result v1
26765 + if-eqz v1, :cond_b6
26767 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
26769 + move-result v8
26771 + const/4 v11, -0x1
26773 + const/4 v12, 0x0
26775 + :goto_41
26776 + :try_start_41
26777 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getCount()I
26779 + move-result v1
26781 + if-ge v12, v1, :cond_5d
26783 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->moveToNext()Z
26785 + const/4 v1, 0x0
26787 + move-object/from16 v0, p3
26789 + invoke-interface {v0, v1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
26791 + move-result-object v1
26793 + const-string v4, "android_id"
26795 + invoke-virtual {v1, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
26797 + move-result v1
26799 + if-eqz v1, :cond_6e
26801 + invoke-interface/range {p3 .. p3}, Landroid/database/Cursor;->getPosition()I
26802 + :try_end_5c
26803 + .catchall {:try_start_41 .. :try_end_5c} :catchall_cb
26804 + .catch Ljava/lang/Exception; {:try_start_41 .. :try_end_5c} :catch_71
26806 + move-result v11
26808 + :cond_5d
26809 + move-object/from16 v0, p3
26811 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
26813 + const/4 v1, -0x1
26815 + if-ne v11, v1, :cond_89
26817 + const-string v1, "PrivacyContentResolver"
26819 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
26821 + :goto_6a
26822 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26824 + :cond_6d
26825 + :goto_6d
26826 + return-object v13
26828 + :cond_6e
26829 + add-int/lit8 v12, v12, 0x1
26831 + goto :goto_41
26833 + :catch_71
26834 + move-exception v10
26836 + :try_start_72
26837 + const-string v1, "PrivacyContentResolver"
26839 + const-string/jumbo v4, "something went wrong while getting blocked permission for android id"
26841 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
26842 + :try_end_7a
26843 + .catchall {:try_start_72 .. :try_end_7a} :catchall_cb
26845 + move-object/from16 v0, p3
26847 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
26849 + const/4 v1, -0x1
26851 + if-ne v11, v1, :cond_89
26853 + const-string v1, "PrivacyContentResolver"
26855 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
26857 + goto :goto_6a
26859 + :cond_88
26860 + throw v1
26862 + :cond_89
26863 + const-string v1, "PrivacyContentResolver"
26865 + new-instance v4, Ljava/lang/StringBuilder;
26867 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
26869 + const-string/jumbo v5, "now blocking google access to android id and give fake cursor. forbidden_position: "
26871 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
26873 + move-result-object v4
26875 + invoke-virtual {v4, v11}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
26877 + move-result-object v4
26879 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
26881 + move-result-object v4
26883 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26885 + const-string v14, "[fake]"
26887 + new-instance v13, Landroid/privacy/surrogate/PrivacyCursor;
26889 + move-object/from16 v0, p3
26891 + invoke-direct {v13, v0, v11}, Landroid/privacy/surrogate/PrivacyCursor;-><init>(Landroid/database/Cursor;I)V
26893 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26895 + const/4 v4, 0x1
26897 + const-string/jumbo v5, "networkInfoSIM"
26899 + const/4 v6, 0x0
26901 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26903 + goto :goto_6d
26905 + :cond_b6
26906 + const-string v1, "PrivacyContentResolver"
26908 + const-string v4, "google is allowed to get real cursor"
26910 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
26912 + sget-object v1, Landroid/privacy/surrogate/PrivacyContentResolver;->pSetMan:Landroid/privacy/PrivacySettingsManager;
26914 + const/4 v4, 0x0
26916 + const-string/jumbo v5, "networkInfoSIM"
26918 + const/4 v6, 0x0
26920 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
26922 + goto :goto_6d
26924 + :cond_c8
26925 + move-object/from16 v13, p3
26927 + goto :goto_6d
26929 + :catchall_cb
26930 + move-exception v1
26932 + move-object/from16 v0, p3
26934 + invoke-interface {v0, v8}, Landroid/database/Cursor;->moveToPosition(I)Z
26936 + const/4 v4, -0x1
26938 + if-ne v11, v4, :cond_88
26940 + const-string v1, "PrivacyContentResolver"
26942 + const-string/jumbo v4, "now we return real cursor, because forbidden_pos is -1"
26944 + goto :goto_6a
26945 +.end method
26946 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali ext-framework/smali/android/privacy/surrogate/PrivacyCursor.smali
26947 --- stock-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 1969-12-31 18:00:00.000000000 -0600
26948 +++ ext-framework/smali/android/privacy/surrogate/PrivacyCursor.smali 2012-11-08 09:11:56.662842320 -0600
26949 @@ -0,0 +1,1765 @@
26950 +.class public Landroid/privacy/surrogate/PrivacyCursor;
26951 +.super Ljava/lang/Object;
26952 +.source "PrivacyCursor.java"
26954 +# interfaces
26955 +.implements Landroid/database/Cursor;
26958 +# static fields
26959 +.field private static final TAG:Ljava/lang/String; = "PrivacyCursor"
26961 +.field private static final mask:[Ljava/lang/String;
26964 +# instance fields
26965 +.field private allowedIdMapping:[I
26967 +.field private allowedIds:[I
26969 +.field private blockedColumnAndroidID:I
26971 +.field private googleCursor:Z
26973 +.field private realCursor:Landroid/database/Cursor;
26976 +# direct methods
26977 +.method static constructor <clinit>()V
26978 + .registers 3
26980 + const/16 v0, 0x10
26982 + new-array v0, v0, [Ljava/lang/String;
26984 + const/4 v1, 0x0
26986 + const-string v2, "0"
26988 + aput-object v2, v0, v1
26990 + const/4 v1, 0x1
26992 + const-string v2, "1"
26994 + aput-object v2, v0, v1
26996 + const/4 v1, 0x2
26998 + const-string v2, "2"
27000 + aput-object v2, v0, v1
27002 + const/4 v1, 0x3
27004 + const-string v2, "3"
27006 + aput-object v2, v0, v1
27008 + const/4 v1, 0x4
27010 + const-string v2, "4"
27012 + aput-object v2, v0, v1
27014 + const/4 v1, 0x5
27016 + const-string v2, "5"
27018 + aput-object v2, v0, v1
27020 + const/4 v1, 0x6
27022 + const-string v2, "6"
27024 + aput-object v2, v0, v1
27026 + const/4 v1, 0x7
27028 + const-string v2, "7"
27030 + aput-object v2, v0, v1
27032 + const/16 v1, 0x8
27034 + const-string v2, "8"
27036 + aput-object v2, v0, v1
27038 + const/16 v1, 0x9
27040 + const-string v2, "9"
27042 + aput-object v2, v0, v1
27044 + const/16 v1, 0xa
27046 + const-string v2, "a"
27048 + aput-object v2, v0, v1
27050 + const/16 v1, 0xb
27052 + const-string v2, "b"
27054 + aput-object v2, v0, v1
27056 + const/16 v1, 0xc
27058 + const-string v2, "c"
27060 + aput-object v2, v0, v1
27062 + const/16 v1, 0xd
27064 + const-string v2, "d"
27066 + aput-object v2, v0, v1
27068 + const/16 v1, 0xe
27070 + const-string v2, "e"
27072 + aput-object v2, v0, v1
27074 + const/16 v1, 0xf
27076 + const-string v2, "f"
27078 + aput-object v2, v0, v1
27080 + sput-object v0, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
27082 + return-void
27083 +.end method
27085 +.method public constructor <init>()V
27086 + .registers 1
27088 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
27090 + return-void
27091 +.end method
27093 +.method public constructor <init>(Landroid/database/Cursor;I)V
27094 + .registers 6
27096 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
27098 + const/16 v0, -0xb
27100 + if-ne p2, v0, :cond_28
27102 + const/4 v0, 0x0
27104 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27106 + :goto_a
27107 + iput p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
27109 + const/4 v0, 0x1
27111 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27113 + const-string v0, "PrivacyCursor"
27115 + new-instance v1, Ljava/lang/StringBuilder;
27117 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
27119 + const-string v2, "constructor is ready for google cursor! forbidden_position: "
27121 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27123 + move-result-object v1
27125 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27127 + move-result-object v1
27129 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27131 + move-result-object v1
27133 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27135 + return-void
27137 + :cond_28
27138 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27140 + goto :goto_a
27141 +.end method
27143 +.method public constructor <init>(Landroid/database/Cursor;[I)V
27144 + .registers 7
27146 + invoke-direct {p0}, Ljava/lang/Object;-><init>()V
27148 + if-eqz p2, :cond_8
27150 + array-length v2, p2
27152 + if-nez v2, :cond_9
27154 + :cond_8
27155 + const/4 p1, 0x0
27157 + :cond_9
27158 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27160 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
27162 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27164 + if-eqz v2, :cond_3f
27166 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27168 + invoke-interface {v2}, Landroid/database/Cursor;->getPosition()I
27170 + move-result v0
27172 + array-length v2, p2
27174 + new-array v2, v2, [I
27176 + iput-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27178 + const/4 v1, 0x0
27180 + :cond_1d
27181 + :goto_1d
27182 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27184 + invoke-interface {v2}, Landroid/database/Cursor;->moveToNext()Z
27186 + move-result v2
27188 + if-eqz v2, :cond_3a
27190 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27192 + invoke-direct {p0, v2}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
27194 + move-result v2
27196 + if-eqz v2, :cond_1d
27198 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27200 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27202 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
27204 + move-result v3
27206 + aput v3, v2, v1
27208 + add-int/lit8 v1, v1, 0x1
27210 + goto :goto_1d
27212 + :cond_3a
27213 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27215 + invoke-interface {v2, v0}, Landroid/database/Cursor;->moveToPosition(I)Z
27217 + :cond_3f
27218 + return-void
27219 +.end method
27221 +.method private getContactId(Landroid/database/Cursor;)I
27222 + .registers 5
27224 + const-string v2, "_id"
27226 + invoke-interface {p1, v2}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
27228 + move-result v0
27230 + const/4 v1, -0x1
27232 + const/4 v2, -0x1
27234 + if-eq v0, v2, :cond_e
27236 + invoke-interface {p1, v0}, Landroid/database/Cursor;->getInt(I)I
27238 + move-result v1
27240 + :cond_e
27241 + return v1
27242 +.end method
27244 +.method private getFakeID()Ljava/lang/String;
27245 + .registers 8
27247 + :try_start_0
27248 + new-instance v3, Ljava/util/Random;
27250 + invoke-direct {v3}, Ljava/util/Random;-><init>()V
27252 + const-string v2, ""
27254 + const/4 v1, 0x0
27256 + :goto_8
27257 + const/16 v4, 0x10
27259 + if-ge v1, v4, :cond_34
27261 + new-instance v4, Ljava/lang/StringBuilder;
27263 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
27265 + invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27267 + move-result-object v4
27269 + sget-object v5, Landroid/privacy/surrogate/PrivacyCursor;->mask:[Ljava/lang/String;
27271 + const/16 v6, 0xf
27273 + invoke-virtual {v3, v6}, Ljava/util/Random;->nextInt(I)I
27275 + move-result v6
27277 + aget-object v5, v5, v6
27279 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27281 + move-result-object v4
27283 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27284 + :try_end_26
27285 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_26} :catch_2a
27287 + move-result-object v2
27289 + add-int/lit8 v1, v1, 0x1
27291 + goto :goto_8
27293 + :catch_2a
27294 + move-exception v0
27296 + const-string v4, "PrivacyCursor"
27298 + const-string/jumbo v5, "something went wrong with creating fake ID"
27300 + invoke-static {v4, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
27302 + const/4 v2, 0x0
27304 + :cond_34
27305 + return-object v2
27306 +.end method
27308 +.method private getMappedPos(I)I
27309 + .registers 4
27311 + const/4 v0, 0x0
27313 + :goto_1
27314 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27316 + array-length v1, v1
27318 + if-ge v0, v1, :cond_10
27320 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27322 + aget v1, v1, v0
27324 + if-ne v1, p1, :cond_d
27326 + :goto_c
27327 + return v0
27329 + :cond_d
27330 + add-int/lit8 v0, v0, 0x1
27332 + goto :goto_1
27334 + :cond_10
27335 + const/4 v0, -0x1
27337 + goto :goto_c
27338 +.end method
27340 +.method private isAllowed(I)Z
27341 + .registers 7
27343 + const/4 v4, 0x0
27345 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIds:[I
27347 + array-length v3, v0
27349 + const/4 v2, 0x0
27351 + :goto_5
27352 + if-ge v2, v3, :cond_c
27354 + aget v1, v0, v2
27356 + if-ne p1, v1, :cond_d
27358 + const/4 v4, 0x1
27360 + :cond_c
27361 + return v4
27363 + :cond_d
27364 + add-int/lit8 v2, v2, 0x1
27366 + goto :goto_5
27367 +.end method
27369 +.method private isAllowed(Landroid/database/Cursor;)Z
27370 + .registers 3
27372 + invoke-direct {p0, p1}, Landroid/privacy/surrogate/PrivacyCursor;->getContactId(Landroid/database/Cursor;)I
27374 + move-result v0
27376 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(I)Z
27378 + move-result v0
27380 + return v0
27381 +.end method
27384 +# virtual methods
27385 +.method public close()V
27386 + .registers 2
27388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27390 + if-eqz v0, :cond_9
27392 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27394 + invoke-interface {v0}, Landroid/database/Cursor;->close()V
27396 + :cond_9
27397 + return-void
27398 +.end method
27400 +.method public copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
27401 + .registers 4
27403 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27405 + if-eqz v0, :cond_9
27407 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27409 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->copyStringToBuffer(ILandroid/database/CharArrayBuffer;)V
27411 + :cond_9
27412 + return-void
27413 +.end method
27415 +.method public deactivate()V
27416 + .registers 2
27418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27420 + if-eqz v0, :cond_9
27422 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27424 + invoke-interface {v0}, Landroid/database/Cursor;->deactivate()V
27426 + :cond_9
27427 + return-void
27428 +.end method
27430 +.method public getBlob(I)[B
27431 + .registers 3
27433 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27435 + if-eqz v0, :cond_b
27437 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27439 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getBlob(I)[B
27441 + move-result-object v0
27443 + :goto_a
27444 + return-object v0
27446 + :cond_b
27447 + const/4 v0, 0x0
27449 + new-array v0, v0, [B
27451 + goto :goto_a
27452 +.end method
27454 +.method public getColumnCount()I
27455 + .registers 2
27457 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27459 + if-eqz v0, :cond_b
27461 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27463 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnCount()I
27465 + move-result v0
27467 + :goto_a
27468 + return v0
27470 + :cond_b
27471 + const/4 v0, 0x0
27473 + goto :goto_a
27474 +.end method
27476 +.method public getColumnIndex(Ljava/lang/String;)I
27477 + .registers 3
27479 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27481 + if-eqz v0, :cond_b
27483 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27485 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndex(Ljava/lang/String;)I
27487 + move-result v0
27489 + :goto_a
27490 + return v0
27492 + :cond_b
27493 + const/4 v0, -0x1
27495 + goto :goto_a
27496 +.end method
27498 +.method public getColumnIndexOrThrow(Ljava/lang/String;)I
27499 + .registers 3
27500 + .annotation system Ldalvik/annotation/Throws;
27501 + value = {
27502 + Ljava/lang/IllegalArgumentException;
27504 + .end annotation
27506 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27508 + if-eqz v0, :cond_b
27510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27512 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
27514 + move-result v0
27516 + :goto_a
27517 + return v0
27519 + :cond_b
27520 + const/4 v0, -0x1
27522 + goto :goto_a
27523 +.end method
27525 +.method public getColumnName(I)Ljava/lang/String;
27526 + .registers 3
27528 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27530 + if-eqz v0, :cond_b
27532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27534 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getColumnName(I)Ljava/lang/String;
27536 + move-result-object v0
27538 + :goto_a
27539 + return-object v0
27541 + :cond_b
27542 + const-string v0, ""
27544 + goto :goto_a
27545 +.end method
27547 +.method public getColumnNames()[Ljava/lang/String;
27548 + .registers 4
27550 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27552 + if-eqz v0, :cond_b
27554 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27556 + invoke-interface {v0}, Landroid/database/Cursor;->getColumnNames()[Ljava/lang/String;
27558 + move-result-object v0
27560 + :goto_a
27561 + return-object v0
27563 + :cond_b
27564 + const/4 v0, 0x1
27566 + new-array v0, v0, [Ljava/lang/String;
27568 + const/4 v1, 0x0
27570 + const-string v2, ""
27572 + aput-object v2, v0, v1
27574 + goto :goto_a
27575 +.end method
27577 +.method public getCount()I
27578 + .registers 4
27580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27582 + if-eqz v0, :cond_2b
27584 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27586 + if-eqz v0, :cond_2b
27588 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27590 + if-nez v0, :cond_2b
27592 + const-string v0, "PrivacyCursor"
27594 + new-instance v1, Ljava/lang/StringBuilder;
27596 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
27598 + const-string v2, "getCount: "
27600 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27602 + move-result-object v1
27604 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27606 + array-length v2, v2
27608 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27610 + move-result-object v1
27612 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27614 + move-result-object v1
27616 + invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
27618 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27620 + array-length v0, v0
27622 + :goto_2a
27623 + return v0
27625 + :cond_2b
27626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27628 + if-eqz v0, :cond_36
27630 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27632 + invoke-interface {v0}, Landroid/database/Cursor;->getCount()I
27634 + move-result v0
27636 + goto :goto_2a
27638 + :cond_36
27639 + const/4 v0, 0x0
27641 + goto :goto_2a
27642 +.end method
27644 +.method public getDouble(I)D
27645 + .registers 4
27647 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27649 + if-eqz v0, :cond_b
27651 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27653 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getDouble(I)D
27655 + move-result-wide v0
27657 + :goto_a
27658 + return-wide v0
27660 + :cond_b
27661 + const-wide/16 v0, 0x0
27663 + goto :goto_a
27664 +.end method
27666 +.method public getExtras()Landroid/os/Bundle;
27667 + .registers 2
27669 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27671 + if-eqz v0, :cond_b
27673 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27675 + invoke-interface {v0}, Landroid/database/Cursor;->getExtras()Landroid/os/Bundle;
27677 + move-result-object v0
27679 + :goto_a
27680 + return-object v0
27682 + :cond_b
27683 + new-instance v0, Landroid/os/Bundle;
27685 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
27687 + goto :goto_a
27688 +.end method
27690 +.method public getFloat(I)F
27691 + .registers 3
27693 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27695 + if-eqz v0, :cond_b
27697 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27699 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getFloat(I)F
27701 + move-result v0
27703 + :goto_a
27704 + return v0
27706 + :cond_b
27707 + const/4 v0, 0x0
27709 + goto :goto_a
27710 +.end method
27712 +.method public getInt(I)I
27713 + .registers 4
27715 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27717 + if-eqz v1, :cond_b
27719 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27721 + invoke-interface {v1, p1}, Landroid/database/Cursor;->getInt(I)I
27723 + move-result v0
27725 + :goto_a
27726 + return v0
27728 + :cond_b
27729 + const/4 v0, 0x0
27731 + goto :goto_a
27732 +.end method
27734 +.method public getLong(I)J
27735 + .registers 4
27737 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27739 + if-eqz v0, :cond_b
27741 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27743 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getLong(I)J
27745 + move-result-wide v0
27747 + :goto_a
27748 + return-wide v0
27750 + :cond_b
27751 + const-wide/16 v0, 0x0
27753 + goto :goto_a
27754 +.end method
27756 +.method public getPosition()I
27757 + .registers 5
27759 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27761 + if-eqz v1, :cond_3f
27763 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
27765 + if-eqz v1, :cond_3f
27767 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27769 + if-nez v1, :cond_3f
27771 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27773 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
27775 + move-result v1
27777 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
27779 + move-result v0
27781 + const-string v1, "PrivacyCursor"
27783 + new-instance v2, Ljava/lang/StringBuilder;
27785 + invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
27787 + const-string v3, "getPosition - mapped position: "
27789 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27791 + move-result-object v2
27793 + invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27795 + move-result-object v2
27797 + const-string v3, " real position: "
27799 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27801 + move-result-object v2
27803 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27805 + invoke-interface {v3}, Landroid/database/Cursor;->getPosition()I
27807 + move-result v3
27809 + invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
27811 + move-result-object v2
27813 + invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27815 + move-result-object v2
27817 + invoke-static {v1, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
27819 + :goto_3e
27820 + return v0
27822 + :cond_3f
27823 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27825 + if-eqz v1, :cond_4a
27827 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27829 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
27831 + move-result v0
27833 + goto :goto_3e
27835 + :cond_4a
27836 + const/4 v0, -0x1
27838 + goto :goto_3e
27839 +.end method
27841 +.method public getShort(I)S
27842 + .registers 3
27844 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27846 + if-eqz v0, :cond_b
27848 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27850 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getShort(I)S
27852 + move-result v0
27854 + :goto_a
27855 + return v0
27857 + :cond_b
27858 + const/4 v0, 0x0
27860 + goto :goto_a
27861 +.end method
27863 +.method public getString(I)Ljava/lang/String;
27864 + .registers 9
27866 + iget-boolean v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
27868 + if-eqz v4, :cond_63
27870 + const/4 v4, 0x1
27872 + if-ne p1, v4, :cond_63
27874 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27876 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
27878 + move-result v4
27880 + iget v5, p0, Landroid/privacy/surrogate/PrivacyCursor;->blockedColumnAndroidID:I
27882 + if-ne v4, v5, :cond_63
27884 + const-string v4, "PrivacyCursor"
27886 + const-string v5, "google tries to get android_id with getString()"
27888 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27890 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyCursor;->getFakeID()Ljava/lang/String;
27892 + move-result-object v2
27894 + if-eqz v2, :cond_58
27896 + :try_start_1e
27897 + new-instance v3, Ljava/math/BigInteger;
27899 + const/16 v4, 0x10
27901 + invoke-direct {v3, v2, v4}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
27903 + invoke-static {v3}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
27905 + move-result-object v1
27907 + const-string v4, "PrivacyCursor"
27909 + new-instance v5, Ljava/lang/StringBuilder;
27911 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
27913 + const-string/jumbo v6, "returned : "
27915 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27917 + move-result-object v5
27919 + invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27921 + move-result-object v5
27923 + const-string v6, "(String) as fake android id"
27925 + invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
27927 + move-result-object v5
27929 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
27931 + move-result-object v5
27933 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27934 + :try_end_48
27935 + .catch Ljava/lang/Exception; {:try_start_1e .. :try_end_48} :catch_49
27937 + :goto_48
27938 + return-object v1
27940 + :catch_49
27941 + move-exception v0
27943 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
27945 + const-string v4, "PrivacyCursor"
27947 + const-string/jumbo v5, "returned \"\" as android_id"
27949 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27951 + const-string v1, ""
27953 + goto :goto_48
27955 + :cond_58
27956 + const-string v4, "PrivacyCursor"
27958 + const-string/jumbo v5, "returned \"\" as android_id"
27960 + invoke-static {v4, v5}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
27962 + const-string v1, ""
27964 + goto :goto_48
27966 + :cond_63
27967 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27969 + if-eqz v4, :cond_6e
27971 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27973 + invoke-interface {v4, p1}, Landroid/database/Cursor;->getString(I)Ljava/lang/String;
27975 + move-result-object v1
27977 + goto :goto_48
27979 + :cond_6e
27980 + const-string v1, ""
27982 + goto :goto_48
27983 +.end method
27985 +.method public getType(I)I
27986 + .registers 3
27988 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27990 + if-eqz v0, :cond_b
27992 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
27994 + invoke-interface {v0, p1}, Landroid/database/Cursor;->getType(I)I
27996 + move-result v0
27998 + :goto_a
27999 + return v0
28001 + :cond_b
28002 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28004 + const/4 v0, 0x0
28006 + goto :goto_a
28007 +.end method
28009 +.method public getWantsAllOnMoveCalls()Z
28010 + .registers 2
28012 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28014 + if-eqz v0, :cond_b
28016 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28018 + invoke-interface {v0}, Landroid/database/Cursor;->getWantsAllOnMoveCalls()Z
28020 + move-result v0
28022 + :goto_a
28023 + return v0
28025 + :cond_b
28026 + const/4 v0, 0x0
28028 + goto :goto_a
28029 +.end method
28031 +.method public isAfterLast()Z
28032 + .registers 2
28034 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28036 + if-eqz v0, :cond_b
28038 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28040 + invoke-interface {v0}, Landroid/database/Cursor;->isAfterLast()Z
28042 + move-result v0
28044 + :goto_a
28045 + return v0
28047 + :cond_b
28048 + const/4 v0, 0x0
28050 + goto :goto_a
28051 +.end method
28053 +.method public isBeforeFirst()Z
28054 + .registers 2
28056 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28058 + if-eqz v0, :cond_b
28060 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28062 + invoke-interface {v0}, Landroid/database/Cursor;->isBeforeFirst()Z
28064 + move-result v0
28066 + :goto_a
28067 + return v0
28069 + :cond_b
28070 + const/4 v0, 0x0
28072 + goto :goto_a
28073 +.end method
28075 +.method public isClosed()Z
28076 + .registers 2
28078 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28080 + if-eqz v0, :cond_b
28082 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28084 + invoke-interface {v0}, Landroid/database/Cursor;->isClosed()Z
28086 + move-result v0
28088 + :goto_a
28089 + return v0
28091 + :cond_b
28092 + const/4 v0, 0x0
28094 + goto :goto_a
28095 +.end method
28097 +.method public isFirst()Z
28098 + .registers 4
28100 + const/4 v0, 0x0
28102 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28104 + if-eqz v1, :cond_1b
28106 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28108 + if-eqz v1, :cond_1b
28110 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28112 + if-nez v1, :cond_1b
28114 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28116 + invoke-interface {v1}, Landroid/database/Cursor;->getPosition()I
28118 + move-result v1
28120 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28122 + aget v2, v2, v0
28124 + if-ne v1, v2, :cond_1a
28126 + const/4 v0, 0x1
28128 + :cond_1a
28129 + :goto_1a
28130 + return v0
28132 + :cond_1b
28133 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28135 + if-eqz v1, :cond_1a
28137 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28139 + invoke-interface {v0}, Landroid/database/Cursor;->isFirst()Z
28141 + move-result v0
28143 + goto :goto_1a
28144 +.end method
28146 +.method public isLast()Z
28147 + .registers 4
28149 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28151 + if-eqz v0, :cond_1f
28153 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28155 + if-eqz v0, :cond_1f
28157 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28159 + if-nez v0, :cond_1f
28161 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28163 + invoke-interface {v0}, Landroid/database/Cursor;->getPosition()I
28165 + move-result v0
28167 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28169 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28171 + array-length v2, v2
28173 + add-int/lit8 v2, v2, -0x1
28175 + aget v1, v1, v2
28177 + if-ne v0, v1, :cond_2a
28179 + const/4 v0, 0x1
28181 + :goto_1e
28182 + return v0
28184 + :cond_1f
28185 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28187 + if-eqz v0, :cond_2a
28189 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28191 + invoke-interface {v0}, Landroid/database/Cursor;->isLast()Z
28193 + move-result v0
28195 + goto :goto_1e
28197 + :cond_2a
28198 + const/4 v0, 0x0
28200 + goto :goto_1e
28201 +.end method
28203 +.method public isNull(I)Z
28204 + .registers 3
28206 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28208 + if-eqz v0, :cond_b
28210 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28212 + invoke-interface {v0, p1}, Landroid/database/Cursor;->isNull(I)Z
28214 + move-result v0
28216 + :goto_a
28217 + return v0
28219 + :cond_b
28220 + const/4 v0, 0x0
28222 + goto :goto_a
28223 +.end method
28225 +.method public move(I)Z
28226 + .registers 8
28228 + const/4 v2, 0x0
28230 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28232 + if-eqz v3, :cond_3e
28234 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28236 + if-eqz v3, :cond_3e
28238 + iget-boolean v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28240 + if-nez v3, :cond_3e
28242 + const-string v3, "PrivacyCursor"
28244 + new-instance v4, Ljava/lang/StringBuilder;
28246 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
28248 + const-string/jumbo v5, "move - offset: "
28250 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28252 + move-result-object v4
28254 + invoke-virtual {v4, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
28256 + move-result-object v4
28258 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28260 + move-result-object v4
28262 + invoke-static {v3, v4}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
28264 + :try_start_26
28265 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28267 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28269 + invoke-interface {v4}, Landroid/database/Cursor;->getPosition()I
28271 + move-result v4
28273 + invoke-direct {p0, v4}, Landroid/privacy/surrogate/PrivacyCursor;->getMappedPos(I)I
28275 + move-result v4
28277 + add-int/2addr v4, p1
28279 + aget v1, v3, v4
28281 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28283 + invoke-interface {v3, v1}, Landroid/database/Cursor;->moveToPosition(I)Z
28284 + :try_end_3a
28285 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_26 .. :try_end_3a} :catch_3c
28287 + move-result v2
28289 + :cond_3b
28290 + :goto_3b
28291 + return v2
28293 + :catch_3c
28294 + move-exception v0
28296 + goto :goto_3b
28298 + :cond_3e
28299 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28301 + if-eqz v3, :cond_3b
28303 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28305 + invoke-interface {v3, p1}, Landroid/database/Cursor;->move(I)Z
28307 + goto :goto_3b
28308 +.end method
28310 +.method public moveToFirst()Z
28311 + .registers 4
28313 + const/4 v0, 0x0
28315 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28317 + if-eqz v1, :cond_18
28319 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28321 + if-eqz v1, :cond_18
28323 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28325 + if-nez v1, :cond_18
28327 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28329 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28331 + aget v2, v2, v0
28333 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
28335 + move-result v0
28337 + :cond_17
28338 + :goto_17
28339 + return v0
28341 + :cond_18
28342 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28344 + if-eqz v1, :cond_17
28346 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28348 + invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z
28350 + move-result v0
28352 + goto :goto_17
28353 +.end method
28355 +.method public moveToLast()Z
28356 + .registers 5
28358 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28360 + if-eqz v1, :cond_1c
28362 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28364 + if-eqz v1, :cond_1c
28366 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28368 + if-nez v1, :cond_1c
28370 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28372 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28374 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28376 + array-length v3, v3
28378 + add-int/lit8 v3, v3, -0x1
28380 + aget v2, v2, v3
28382 + invoke-interface {v1, v2}, Landroid/database/Cursor;->moveToPosition(I)Z
28384 + move-result v0
28386 + :goto_1b
28387 + return v0
28389 + :cond_1c
28390 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28392 + if-eqz v1, :cond_27
28394 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28396 + invoke-interface {v1}, Landroid/database/Cursor;->moveToLast()Z
28398 + move-result v0
28400 + goto :goto_1b
28402 + :cond_27
28403 + const/4 v0, 0x0
28405 + goto :goto_1b
28406 +.end method
28408 +.method public moveToNext()Z
28409 + .registers 3
28411 + const/4 v0, 0x0
28413 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28415 + if-eqz v1, :cond_29
28417 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28419 + if-eqz v1, :cond_29
28421 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28423 + if-nez v1, :cond_29
28425 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28427 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
28429 + move-result v1
28431 + if-nez v1, :cond_16
28433 + :cond_15
28434 + :goto_15
28435 + return v0
28437 + :cond_16
28438 + const/4 v0, 0x1
28440 + :goto_17
28441 + const/4 v1, 0x1
28443 + if-ne v0, v1, :cond_15
28445 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28447 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
28449 + move-result v1
28451 + if-nez v1, :cond_15
28453 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28455 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
28457 + move-result v0
28459 + goto :goto_17
28461 + :cond_29
28462 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28464 + if-eqz v1, :cond_15
28466 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28468 + invoke-interface {v1}, Landroid/database/Cursor;->moveToNext()Z
28470 + move-result v0
28472 + goto :goto_15
28473 +.end method
28475 +.method public moveToPosition(I)Z
28476 + .registers 6
28478 + const/4 v1, 0x0
28480 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28482 + if-eqz v2, :cond_1a
28484 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28486 + if-eqz v2, :cond_1a
28488 + iget-boolean v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28490 + if-nez v2, :cond_1a
28492 + :try_start_d
28493 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28495 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28497 + aget v3, v3, p1
28499 + invoke-interface {v2, v3}, Landroid/database/Cursor;->moveToPosition(I)Z
28500 + :try_end_16
28501 + .catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_d .. :try_end_16} :catch_18
28503 + move-result v1
28505 + :cond_17
28506 + :goto_17
28507 + return v1
28509 + :catch_18
28510 + move-exception v0
28512 + goto :goto_17
28514 + :cond_1a
28515 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28517 + if-eqz v2, :cond_17
28519 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28521 + invoke-interface {v2, p1}, Landroid/database/Cursor;->moveToPosition(I)Z
28523 + move-result v1
28525 + goto :goto_17
28526 +.end method
28528 +.method public moveToPrevious()Z
28529 + .registers 3
28531 + const/4 v0, 0x0
28533 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28535 + if-eqz v1, :cond_29
28537 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->allowedIdMapping:[I
28539 + if-eqz v1, :cond_29
28541 + iget-boolean v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->googleCursor:Z
28543 + if-nez v1, :cond_29
28545 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28547 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
28549 + move-result v1
28551 + if-nez v1, :cond_16
28553 + :cond_15
28554 + :goto_15
28555 + return v0
28557 + :cond_16
28558 + const/4 v0, 0x1
28560 + :goto_17
28561 + const/4 v1, 0x1
28563 + if-ne v0, v1, :cond_15
28565 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28567 + invoke-direct {p0, v1}, Landroid/privacy/surrogate/PrivacyCursor;->isAllowed(Landroid/database/Cursor;)Z
28569 + move-result v1
28571 + if-nez v1, :cond_15
28573 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28575 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
28577 + move-result v0
28579 + goto :goto_17
28581 + :cond_29
28582 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28584 + if-eqz v1, :cond_15
28586 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28588 + invoke-interface {v1}, Landroid/database/Cursor;->moveToPrevious()Z
28590 + move-result v0
28592 + goto :goto_15
28593 +.end method
28595 +.method public registerContentObserver(Landroid/database/ContentObserver;)V
28596 + .registers 3
28598 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28600 + if-eqz v0, :cond_9
28602 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28604 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerContentObserver(Landroid/database/ContentObserver;)V
28606 + :cond_9
28607 + return-void
28608 +.end method
28610 +.method public registerDataSetObserver(Landroid/database/DataSetObserver;)V
28611 + .registers 3
28613 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28615 + if-eqz v0, :cond_9
28617 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28619 + invoke-interface {v0, p1}, Landroid/database/Cursor;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
28621 + :cond_9
28622 + return-void
28623 +.end method
28625 +.method public requery()Z
28626 + .registers 2
28628 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28630 + if-eqz v0, :cond_b
28632 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28634 + invoke-interface {v0}, Landroid/database/Cursor;->requery()Z
28636 + move-result v0
28638 + :goto_a
28639 + return v0
28641 + :cond_b
28642 + const/4 v0, 0x0
28644 + goto :goto_a
28645 +.end method
28647 +.method public respond(Landroid/os/Bundle;)Landroid/os/Bundle;
28648 + .registers 3
28650 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28652 + if-eqz v0, :cond_b
28654 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28656 + invoke-interface {v0, p1}, Landroid/database/Cursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
28658 + move-result-object v0
28660 + :goto_a
28661 + return-object v0
28663 + :cond_b
28664 + new-instance v0, Landroid/os/Bundle;
28666 + invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
28668 + goto :goto_a
28669 +.end method
28671 +.method public setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
28672 + .registers 4
28674 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28676 + if-eqz v0, :cond_9
28678 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28680 + invoke-interface {v0, p1, p2}, Landroid/database/Cursor;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
28682 + :cond_9
28683 + return-void
28684 +.end method
28686 +.method public unregisterContentObserver(Landroid/database/ContentObserver;)V
28687 + .registers 3
28689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28691 + if-eqz v0, :cond_9
28693 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28695 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
28697 + :cond_9
28698 + return-void
28699 +.end method
28701 +.method public unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
28702 + .registers 3
28704 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28706 + if-eqz v0, :cond_9
28708 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyCursor;->realCursor:Landroid/database/Cursor;
28710 + invoke-interface {v0, p1}, Landroid/database/Cursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
28712 + :cond_9
28713 + return-void
28714 +.end method
28715 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyGSMPhone.smali ext-framework/smali/android/privacy/surrogate/PrivacyGSMPhone.smali
28716 --- stock-framework/smali/android/privacy/surrogate/PrivacyGSMPhone.smali 1969-12-31 18:00:00.000000000 -0600
28717 +++ ext-framework/smali/android/privacy/surrogate/PrivacyGSMPhone.smali 2012-11-08 09:11:56.666842326 -0600
28718 @@ -0,0 +1,1602 @@
28719 +.class public Landroid/privacy/surrogate/PrivacyGSMPhone;
28720 +.super Lcom/android/internal/telephony/gsm/GSMPhone;
28721 +.source "PrivacyGSMPhone.java"
28724 +# static fields
28725 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyGSMPhone"
28728 +# instance fields
28729 +.field private context:Landroid/content/Context;
28731 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
28734 +# direct methods
28735 +.method public constructor <init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
28736 + .registers 7
28738 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/gsm/GSMPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
28740 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28742 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
28744 + const-string/jumbo v1, "privacy"
28746 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
28748 + move-result-object v1
28750 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
28752 + move-result-object v1
28754 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
28756 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28758 + const-string v0, "PrivacyGSMPhone"
28760 + new-instance v1, Ljava/lang/StringBuilder;
28762 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
28764 + const-string v2, "Constructor ready for package: "
28766 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28768 + move-result-object v1
28770 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28772 + move-result-object v2
28774 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28776 + move-result-object v1
28778 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28780 + move-result-object v1
28782 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
28784 + return-void
28785 +.end method
28788 +# virtual methods
28789 +.method public dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
28790 + .registers 10
28791 + .annotation system Ldalvik/annotation/Throws;
28792 + value = {
28793 + Lcom/android/internal/telephony/CallStateException;
28795 + .end annotation
28797 + const/4 v2, 0x0
28799 + const/4 v5, 0x0
28801 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28803 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28805 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28807 + move-result-object v1
28809 + const/4 v3, -0x1
28811 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28813 + move-result-object v7
28815 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28817 + if-eqz v0, :cond_31
28819 + if-eqz v7, :cond_31
28821 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
28823 + move-result v0
28825 + if-eqz v0, :cond_31
28827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28829 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28831 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28833 + move-result-object v1
28835 + const/4 v3, 0x1
28837 + const-string/jumbo v4, "phoneCall"
28839 + move-object v6, v5
28841 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28843 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
28845 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
28847 + throw v0
28849 + :cond_31
28850 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28852 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28854 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28856 + move-result-object v1
28858 + const-string/jumbo v4, "phoneCall"
28860 + move v3, v2
28862 + move-object v6, v5
28864 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28866 + invoke-super {p0, p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
28868 + move-result-object v0
28870 + return-object v0
28871 +.end method
28873 +.method public dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
28874 + .registers 11
28875 + .annotation system Ldalvik/annotation/Throws;
28876 + value = {
28877 + Lcom/android/internal/telephony/CallStateException;
28879 + .end annotation
28881 + const/4 v2, 0x0
28883 + const/4 v5, 0x0
28885 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28887 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28889 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28891 + move-result-object v1
28893 + const/4 v3, -0x1
28895 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
28897 + move-result-object v7
28899 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28901 + if-eqz v0, :cond_31
28903 + if-eqz v7, :cond_31
28905 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
28907 + move-result v0
28909 + if-eqz v0, :cond_31
28911 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28913 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28915 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28917 + move-result-object v1
28919 + const/4 v3, 0x1
28921 + const-string/jumbo v4, "phoneCall"
28923 + move-object v6, v5
28925 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28927 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
28929 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
28931 + throw v0
28933 + :cond_31
28934 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
28936 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28938 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28940 + move-result-object v1
28942 + const-string/jumbo v4, "phoneCall"
28944 + move v3, v2
28946 + move-object v6, v5
28948 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
28950 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/gsm/GSMPhone;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
28952 + move-result-object v0
28954 + return-object v0
28955 +.end method
28957 +.method public getCellLocation()Landroid/telephony/CellLocation;
28958 + .registers 8
28960 + const/4 v5, 0x0
28962 + const/4 v2, 0x0
28964 + const-string v0, "PrivacyGSMPhone"
28966 + new-instance v1, Ljava/lang/StringBuilder;
28968 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
28970 + const-string v3, "Package: "
28972 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28974 + move-result-object v1
28976 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
28978 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
28980 + move-result-object v3
28982 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28984 + move-result-object v1
28986 + const-string v3, " asked for getCellLocation()"
28988 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
28990 + move-result-object v1
28992 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
28994 + move-result-object v1
28996 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
28998 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29000 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29002 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29004 + move-result-object v1
29006 + invoke-static {}, Landroid/os/Process;->myUid()I
29008 + move-result v3
29010 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29012 + move-result-object v6
29014 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29016 + if-eqz v0, :cond_5f
29018 + if-eqz v6, :cond_5f
29020 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
29022 + move-result v0
29024 + if-nez v0, :cond_48
29026 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29028 + move-result v0
29030 + if-eqz v0, :cond_5f
29032 + :cond_48
29033 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29035 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29037 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29039 + move-result-object v1
29041 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29043 + move-result v3
29045 + const-string v4, "locationNetwork"
29047 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29049 + new-instance v0, Landroid/telephony/gsm/GsmCellLocation;
29051 + invoke-direct {v0}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
29053 + :goto_5e
29054 + return-object v0
29056 + :cond_5f
29057 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29059 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29061 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29063 + move-result-object v1
29065 + const-string v4, "locationNetwork"
29067 + move v3, v2
29069 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29071 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
29073 + move-result-object v0
29075 + goto :goto_5e
29076 +.end method
29078 +.method public getDeviceId()Ljava/lang/String;
29079 + .registers 8
29081 + const-string v0, "PrivacyGSMPhone"
29083 + new-instance v3, Ljava/lang/StringBuilder;
29085 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29087 + const-string v4, "Package: "
29089 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29091 + move-result-object v3
29093 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29095 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29097 + move-result-object v4
29099 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29101 + move-result-object v3
29103 + const-string v4, " asked for getDeviceId()"
29105 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29107 + move-result-object v3
29109 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29111 + move-result-object v3
29113 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29115 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29117 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29119 + move-result-object v1
29121 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29123 + move-result v2
29125 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29127 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29129 + move-result-object v6
29131 + if-eqz v6, :cond_4c
29133 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29135 + move-result v0
29137 + if-eqz v0, :cond_4c
29139 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29141 + move-result-object v5
29143 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29145 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29147 + move-result v3
29149 + const-string v4, "deviceID"
29151 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29153 + :goto_4b
29154 + return-object v5
29156 + :cond_4c
29157 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getDeviceId()Ljava/lang/String;
29159 + move-result-object v5
29161 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29163 + const/4 v3, 0x0
29165 + const-string v4, "deviceID"
29167 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29169 + goto :goto_4b
29170 +.end method
29172 +.method public getDeviceSvn()Ljava/lang/String;
29173 + .registers 8
29175 + const-string v0, "PrivacyGSMPhone"
29177 + new-instance v3, Ljava/lang/StringBuilder;
29179 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29181 + const-string v4, "Package: "
29183 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29185 + move-result-object v3
29187 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29189 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29191 + move-result-object v4
29193 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29195 + move-result-object v3
29197 + const-string v4, " asked for getDeviceSvn()"
29199 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29201 + move-result-object v3
29203 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29205 + move-result-object v3
29207 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29209 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29211 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29213 + move-result-object v1
29215 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29217 + move-result v2
29219 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29221 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29223 + move-result-object v6
29225 + if-eqz v6, :cond_4c
29227 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29229 + move-result v0
29231 + if-eqz v0, :cond_4c
29233 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29235 + move-result-object v5
29237 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29239 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29241 + move-result v3
29243 + const-string v4, "deviceID"
29245 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29247 + :goto_4b
29248 + return-object v5
29250 + :cond_4c
29251 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getDeviceSvn()Ljava/lang/String;
29253 + move-result-object v5
29255 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29257 + const/4 v3, 0x0
29259 + const-string v4, "deviceID"
29261 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29263 + goto :goto_4b
29264 +.end method
29266 +.method public getEsn()Ljava/lang/String;
29267 + .registers 8
29269 + const-string v0, "PrivacyGSMPhone"
29271 + new-instance v3, Ljava/lang/StringBuilder;
29273 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29275 + const-string v4, "Package: "
29277 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29279 + move-result-object v3
29281 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29283 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29285 + move-result-object v4
29287 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29289 + move-result-object v3
29291 + const-string v4, " asked for getEsn()"
29293 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29295 + move-result-object v3
29297 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29299 + move-result-object v3
29301 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29303 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29305 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29307 + move-result-object v1
29309 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29311 + move-result v2
29313 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29315 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29317 + move-result-object v6
29319 + if-eqz v6, :cond_4c
29321 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29323 + move-result v0
29325 + if-eqz v0, :cond_4c
29327 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29329 + move-result-object v5
29331 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29333 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29335 + move-result v3
29337 + const-string v4, "deviceID"
29339 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29341 + :goto_4b
29342 + return-object v5
29344 + :cond_4c
29345 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getEsn()Ljava/lang/String;
29347 + move-result-object v5
29349 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29351 + const/4 v3, 0x0
29353 + const-string v4, "deviceID"
29355 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29357 + goto :goto_4b
29358 +.end method
29360 +.method public getImei()Ljava/lang/String;
29361 + .registers 8
29363 + const-string v0, "PrivacyGSMPhone"
29365 + new-instance v3, Ljava/lang/StringBuilder;
29367 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29369 + const-string v4, "Package: "
29371 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29373 + move-result-object v3
29375 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29377 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29379 + move-result-object v4
29381 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29383 + move-result-object v3
29385 + const-string v4, " asked for getImei"
29387 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29389 + move-result-object v3
29391 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29393 + move-result-object v3
29395 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29397 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29399 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29401 + move-result-object v1
29403 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29405 + move-result v2
29407 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29409 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29411 + move-result-object v6
29413 + if-eqz v6, :cond_4c
29415 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29417 + move-result v0
29419 + if-eqz v0, :cond_4c
29421 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29423 + move-result-object v5
29425 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29427 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29429 + move-result v3
29431 + const-string v4, "deviceID"
29433 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29435 + :goto_4b
29436 + return-object v5
29438 + :cond_4c
29439 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getImei()Ljava/lang/String;
29441 + move-result-object v5
29443 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29445 + const/4 v3, 0x0
29447 + const-string v4, "deviceID"
29449 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29451 + goto :goto_4b
29452 +.end method
29454 +.method public getLine1AlphaTag()Ljava/lang/String;
29455 + .registers 8
29457 + const/4 v2, 0x0
29459 + const-string v0, "PrivacyGSMPhone"
29461 + new-instance v1, Ljava/lang/StringBuilder;
29463 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29465 + const-string v3, "Package: "
29467 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29469 + move-result-object v1
29471 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29473 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29475 + move-result-object v3
29477 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29479 + move-result-object v1
29481 + const-string v3, " asked for getLine1AlphaTag()"
29483 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29485 + move-result-object v1
29487 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29489 + move-result-object v1
29491 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29493 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29495 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29497 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29499 + move-result-object v1
29501 + invoke-static {}, Landroid/os/Process;->myUid()I
29503 + move-result v3
29505 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29507 + move-result-object v6
29509 + const-string v5, ""
29511 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29513 + if-eqz v0, :cond_59
29515 + if-eqz v6, :cond_59
29517 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29519 + move-result v0
29521 + if-eqz v0, :cond_59
29523 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
29525 + move-result-object v5
29527 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29529 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29531 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29533 + move-result-object v1
29535 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29537 + move-result v3
29539 + const-string v4, "line1Number"
29541 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29543 + :goto_58
29544 + return-object v5
29546 + :cond_59
29547 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29549 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29551 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29553 + move-result-object v1
29555 + const-string v4, "line1Number"
29557 + move v3, v2
29559 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29561 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getLine1AlphaTag()Ljava/lang/String;
29563 + move-result-object v5
29565 + goto :goto_58
29566 +.end method
29568 +.method public getLine1Number()Ljava/lang/String;
29569 + .registers 8
29571 + const/4 v2, 0x0
29573 + const-string v0, "PrivacyGSMPhone"
29575 + new-instance v1, Ljava/lang/StringBuilder;
29577 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29579 + const-string v3, "Package: "
29581 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29583 + move-result-object v1
29585 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29587 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29589 + move-result-object v3
29591 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29593 + move-result-object v1
29595 + const-string v3, " asked for getLine1Number()"
29597 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29599 + move-result-object v1
29601 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29603 + move-result-object v1
29605 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29607 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29609 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29611 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29613 + move-result-object v1
29615 + invoke-static {}, Landroid/os/Process;->myUid()I
29617 + move-result v3
29619 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29621 + move-result-object v6
29623 + const-string v5, ""
29625 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29627 + if-eqz v0, :cond_59
29629 + if-eqz v6, :cond_59
29631 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29633 + move-result v0
29635 + if-eqz v0, :cond_59
29637 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
29639 + move-result-object v5
29641 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29643 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29645 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29647 + move-result-object v1
29649 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
29651 + move-result v3
29653 + const-string v4, "line1Number"
29655 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29657 + :goto_58
29658 + return-object v5
29660 + :cond_59
29661 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29663 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29665 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29667 + move-result-object v1
29669 + const-string v4, "line1Number"
29671 + move v3, v2
29673 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29675 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getLine1Number()Ljava/lang/String;
29677 + move-result-object v5
29679 + goto :goto_58
29680 +.end method
29682 +.method public getMeid()Ljava/lang/String;
29683 + .registers 8
29685 + const-string v0, "PrivacyGSMPhone"
29687 + new-instance v3, Ljava/lang/StringBuilder;
29689 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
29691 + const-string v4, "Package: "
29693 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29695 + move-result-object v3
29697 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29699 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29701 + move-result-object v4
29703 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29705 + move-result-object v3
29707 + const-string v4, " asked for getMeid()"
29709 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29711 + move-result-object v3
29713 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29715 + move-result-object v3
29717 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29719 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29721 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29723 + move-result-object v1
29725 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
29727 + move-result v2
29729 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29731 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29733 + move-result-object v6
29735 + if-eqz v6, :cond_4c
29737 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29739 + move-result v0
29741 + if-eqz v0, :cond_4c
29743 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
29745 + move-result-object v5
29747 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29749 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
29751 + move-result v3
29753 + const-string v4, "deviceID"
29755 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29757 + :goto_4b
29758 + return-object v5
29760 + :cond_4c
29761 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getMeid()Ljava/lang/String;
29763 + move-result-object v5
29765 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29767 + const/4 v3, 0x0
29769 + const-string v4, "deviceID"
29771 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29773 + goto :goto_4b
29774 +.end method
29776 +.method public getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
29777 + .registers 8
29779 + const/4 v5, 0x0
29781 + const/4 v2, 0x0
29783 + const-string v0, "PrivacyGSMPhone"
29785 + new-instance v1, Ljava/lang/StringBuilder;
29787 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29789 + const-string v3, "Package: "
29791 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29793 + move-result-object v1
29795 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29797 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29799 + move-result-object v3
29801 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29803 + move-result-object v1
29805 + const-string v3, " asked for getPhoneSubInfo()"
29807 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29809 + move-result-object v1
29811 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29813 + move-result-object v1
29815 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29817 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29819 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29821 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29823 + move-result-object v1
29825 + invoke-static {}, Landroid/os/Process;->myUid()I
29827 + move-result v3
29829 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29831 + move-result-object v6
29833 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29835 + if-eqz v0, :cond_54
29837 + if-eqz v6, :cond_54
29839 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
29841 + move-result v0
29843 + if-eqz v0, :cond_54
29845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29847 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29849 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29851 + move-result-object v1
29853 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29855 + move-result v3
29857 + const-string v4, "locationNetwork"
29859 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29861 + :goto_53
29862 + return-object v5
29864 + :cond_54
29865 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29867 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29869 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29871 + move-result-object v1
29873 + const-string v4, "locationNetwork"
29875 + move v3, v2
29877 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29879 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
29881 + move-result-object v5
29883 + goto :goto_53
29884 +.end method
29886 +.method public getServiceState()Landroid/telephony/ServiceState;
29887 + .registers 10
29889 + :try_start_0
29890 + const-string v0, "PrivacyGSMPhone"
29892 + new-instance v1, Ljava/lang/StringBuilder;
29894 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
29896 + const-string v2, "Package: "
29898 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29900 + move-result-object v1
29902 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29904 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29906 + move-result-object v2
29908 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29910 + move-result-object v1
29912 + const-string v2, " asked for getServiceState()"
29914 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
29916 + move-result-object v1
29918 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
29920 + move-result-object v1
29922 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
29924 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29926 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29928 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29930 + move-result-object v1
29932 + invoke-static {}, Landroid/os/Process;->myUid()I
29934 + move-result v2
29936 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
29938 + move-result-object v6
29940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29942 + if-eqz v0, :cond_61
29944 + if-eqz v6, :cond_61
29946 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
29948 + move-result v0
29950 + if-eqz v0, :cond_61
29952 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29954 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29956 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29958 + move-result-object v1
29960 + const/4 v2, 0x0
29962 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
29964 + move-result v3
29966 + const-string v4, "locationNetwork"
29968 + const/4 v5, 0x0
29970 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
29972 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getServiceState()Landroid/telephony/ServiceState;
29974 + move-result-object v8
29976 + const-string v0, ""
29978 + const-string v1, ""
29980 + const-string v2, ""
29982 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
29984 + :goto_60
29985 + return-object v8
29987 + :cond_61
29988 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
29990 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
29992 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
29994 + move-result-object v1
29996 + const/4 v2, 0x0
29998 + const/4 v3, 0x0
30000 + const-string v4, "locationNetwork"
30002 + const/4 v5, 0x0
30004 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30006 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getServiceState()Landroid/telephony/ServiceState;
30007 + :try_end_74
30008 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_74} :catch_76
30010 + move-result-object v8
30012 + goto :goto_60
30014 + :catch_76
30015 + move-exception v7
30017 + invoke-virtual {v7}, Ljava/lang/Exception;->printStackTrace()V
30019 + const-string v0, "PrivacyGSMPhone"
30021 + const-string v1, "We got exception in getServiceState()-> give fake state"
30023 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
30025 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getServiceState()Landroid/telephony/ServiceState;
30027 + move-result-object v8
30029 + const-string v0, ""
30031 + const-string v1, ""
30033 + const-string v2, ""
30035 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
30037 + goto :goto_60
30038 +.end method
30040 +.method public getSubscriberId()Ljava/lang/String;
30041 + .registers 8
30043 + const-string v0, "PrivacyGSMPhone"
30045 + new-instance v3, Ljava/lang/StringBuilder;
30047 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30049 + const-string v4, "Package: "
30051 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30053 + move-result-object v3
30055 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
30057 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30059 + move-result-object v4
30061 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30063 + move-result-object v3
30065 + const-string v4, " asked for getSubscriberId()"
30067 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30069 + move-result-object v3
30071 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30073 + move-result-object v3
30075 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30077 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
30079 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30081 + move-result-object v1
30083 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30085 + move-result v2
30087 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30089 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30091 + move-result-object v6
30093 + if-eqz v6, :cond_4d
30095 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30097 + move-result v0
30099 + if-eqz v0, :cond_4d
30101 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
30103 + move-result-object v5
30105 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30107 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
30109 + move-result v3
30111 + const-string/jumbo v4, "subscriberID"
30113 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30115 + :goto_4c
30116 + return-object v5
30118 + :cond_4d
30119 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getSubscriberId()Ljava/lang/String;
30121 + move-result-object v5
30123 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30125 + const/4 v3, 0x0
30127 + const-string/jumbo v4, "subscriberID"
30129 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30131 + goto :goto_4c
30132 +.end method
30134 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
30135 + .registers 8
30137 + const-string v0, "PrivacyGSMPhone"
30139 + new-instance v3, Ljava/lang/StringBuilder;
30141 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30143 + const-string v4, "Package: "
30145 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30147 + move-result-object v3
30149 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
30151 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30153 + move-result-object v4
30155 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30157 + move-result-object v3
30159 + const-string v4, " asked for getVoiceMailAlphaTag()"
30161 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30163 + move-result-object v3
30165 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30167 + move-result-object v3
30169 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30171 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
30173 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30175 + move-result-object v1
30177 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30179 + move-result v2
30181 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30183 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30185 + move-result-object v6
30187 + if-eqz v6, :cond_4c
30189 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30191 + move-result v0
30193 + if-eqz v0, :cond_4c
30195 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30197 + move-result-object v5
30199 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30201 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30203 + move-result v3
30205 + const-string v4, "line1Number"
30207 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30209 + :goto_4b
30210 + return-object v5
30212 + :cond_4c
30213 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getVoiceMailAlphaTag()Ljava/lang/String;
30215 + move-result-object v5
30217 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30219 + const/4 v3, 0x0
30221 + const-string v4, "line1Number"
30223 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30225 + goto :goto_4b
30226 +.end method
30228 +.method public getVoiceMailNumber()Ljava/lang/String;
30229 + .registers 8
30231 + const-string v0, "PrivacyGSMPhone"
30233 + new-instance v3, Ljava/lang/StringBuilder;
30235 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
30237 + const-string v4, "Package: "
30239 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30241 + move-result-object v3
30243 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
30245 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30247 + move-result-object v4
30249 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30251 + move-result-object v3
30253 + const-string v4, " asked for getVoiceMailNumber()"
30255 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30257 + move-result-object v3
30259 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30261 + move-result-object v3
30263 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
30265 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->context:Landroid/content/Context;
30267 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30269 + move-result-object v1
30271 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30273 + move-result v2
30275 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30277 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30279 + move-result-object v6
30281 + if-eqz v6, :cond_4c
30283 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30285 + move-result v0
30287 + if-eqz v0, :cond_4c
30289 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
30291 + move-result-object v5
30293 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30295 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
30297 + move-result v3
30299 + const-string v4, "line1Number"
30301 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30303 + :goto_4b
30304 + return-object v5
30306 + :cond_4c
30307 + invoke-super {p0}, Lcom/android/internal/telephony/gsm/GSMPhone;->getVoiceMailNumber()Ljava/lang/String;
30309 + move-result-object v5
30311 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyGSMPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30313 + const/4 v3, 0x0
30315 + const-string v4, "line1Number"
30317 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30319 + goto :goto_4b
30320 +.end method
30321 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali ext-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali
30322 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 1969-12-31 18:00:00.000000000 -0600
30323 +++ ext-framework/smali/android/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater.smali 2012-11-08 09:11:56.674842364 -0600
30324 @@ -0,0 +1,134 @@
30325 +.class Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
30326 +.super Ljava/lang/Thread;
30327 +.source "PrivacyLocationManager.java"
30330 +# annotations
30331 +.annotation system Ldalvik/annotation/EnclosingClass;
30332 + value = Landroid/privacy/surrogate/PrivacyLocationManager;
30333 +.end annotation
30335 +.annotation system Ldalvik/annotation/InnerClass;
30336 + accessFlags = 0x2
30337 + name = "PrivacyLocationUpdater"
30338 +.end annotation
30341 +# instance fields
30342 +.field private intent:Landroid/app/PendingIntent;
30344 +.field private latitude:D
30346 +.field private listener:Landroid/location/LocationListener;
30348 +.field private longitude:D
30350 +.field private provider:Ljava/lang/String;
30352 +.field final synthetic this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
30355 +# direct methods
30356 +.method public constructor <init>(Landroid/privacy/surrogate/PrivacyLocationManager;Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;DD)V
30357 + .registers 9
30359 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->this$0:Landroid/privacy/surrogate/PrivacyLocationManager;
30361 + invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
30363 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
30365 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
30367 + iput-object p4, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
30369 + iput-wide p5, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
30371 + iput-wide p7, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
30373 + return-void
30374 +.end method
30377 +# virtual methods
30378 +.method public run()V
30379 + .registers 8
30381 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
30383 + if-eqz v3, :cond_43
30385 + new-instance v2, Landroid/location/Location;
30387 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->provider:Ljava/lang/String;
30389 + invoke-direct {v2, v3}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
30391 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->latitude:D
30393 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLatitude(D)V
30395 + iget-wide v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->longitude:D
30397 + invoke-virtual {v2, v3, v4}, Landroid/location/Location;->setLongitude(D)V
30399 + const/4 v1, 0x0
30401 + :goto_16
30402 + const/4 v3, 0x5
30404 + if-ge v1, v3, :cond_43
30406 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
30408 + if-eqz v3, :cond_34
30410 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->listener:Landroid/location/LocationListener;
30412 + invoke-interface {v3, v2}, Landroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
30414 + :cond_22
30415 + :goto_22
30416 + :try_start_22
30417 + invoke-static {}, Ljava/lang/Math;->random()D
30419 + move-result-wide v3
30421 + const-wide v5, 0x408f400000000000L
30423 + mul-double/2addr v3, v5
30425 + double-to-int v3, v3
30427 + int-to-long v3, v3
30429 + invoke-static {v3, v4}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->sleep(J)V
30430 + :try_end_31
30431 + .catch Ljava/lang/InterruptedException; {:try_start_22 .. :try_end_31} :catch_3e
30433 + :goto_31
30434 + add-int/lit8 v1, v1, 0x1
30436 + goto :goto_16
30438 + :cond_34
30439 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
30441 + if-eqz v3, :cond_22
30443 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->intent:Landroid/app/PendingIntent;
30445 + invoke-virtual {v3}, Landroid/app/PendingIntent;->cancel()V
30447 + goto :goto_22
30449 + :catch_3e
30450 + move-exception v0
30452 + invoke-virtual {v0}, Ljava/lang/InterruptedException;->printStackTrace()V
30454 + goto :goto_31
30456 + :cond_43
30457 + return-void
30458 +.end method
30459 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali ext-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali
30460 --- stock-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 1969-12-31 18:00:00.000000000 -0600
30461 +++ ext-framework/smali/android/privacy/surrogate/PrivacyLocationManager.smali 2012-11-08 09:11:56.678842400 -0600
30462 @@ -0,0 +1,2091 @@
30463 +.class public final Landroid/privacy/surrogate/PrivacyLocationManager;
30464 +.super Landroid/location/LocationManager;
30465 +.source "PrivacyLocationManager.java"
30468 +# annotations
30469 +.annotation system Ldalvik/annotation/MemberClasses;
30470 + value = {
30471 + Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
30473 +.end annotation
30476 +# static fields
30477 +.field private static final CUSTOM_LOCATION_UPDATE_COUNT:I = 0x5
30479 +.field private static final TAG:Ljava/lang/String; = "PrivacyLocationManager"
30482 +# instance fields
30483 +.field private context:Landroid/content/Context;
30485 +.field private lock:Ljava/lang/Object;
30487 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
30490 +# direct methods
30491 +.method public constructor <init>(Landroid/location/ILocationManager;Landroid/content/Context;)V
30492 + .registers 5
30494 + invoke-direct {p0, p2, p1}, Landroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
30496 + new-instance v0, Ljava/lang/Object;
30498 + invoke-direct {v0}, Ljava/lang/Object;-><init>()V
30500 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
30502 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
30504 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
30506 + const-string/jumbo v1, "privacy"
30508 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
30510 + move-result-object v1
30512 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
30514 + move-result-object v1
30516 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
30518 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30520 + return-void
30521 +.end method
30523 +.method private requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30524 + .registers 7
30526 + const/4 v2, 0x3
30528 + if-nez p1, :cond_5
30530 + const/4 v0, 0x0
30532 + :goto_4
30533 + return v0
30535 + :cond_5
30536 + invoke-virtual {p1}, Landroid/location/Criteria;->getAccuracy()I
30538 + move-result v0
30540 + const/4 v1, 0x1
30542 + if-eq v0, v1, :cond_24
30544 + invoke-virtual {p1}, Landroid/location/Criteria;->getBearingAccuracy()I
30546 + move-result v0
30548 + if-eq v0, v2, :cond_24
30550 + invoke-virtual {p1}, Landroid/location/Criteria;->getHorizontalAccuracy()I
30552 + move-result v0
30554 + if-eq v0, v2, :cond_24
30556 + invoke-virtual {p1}, Landroid/location/Criteria;->getVerticalAccuracy()I
30558 + move-result v0
30560 + if-eq v0, v2, :cond_24
30562 + invoke-virtual {p1}, Landroid/location/Criteria;->getSpeedAccuracy()I
30564 + move-result v0
30566 + if-ne v0, v2, :cond_2b
30568 + :cond_24
30569 + const-string v0, "gps"
30571 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30573 + move-result v0
30575 + goto :goto_4
30577 + :cond_2b
30578 + const-string/jumbo v0, "network"
30580 + invoke-direct {p0, v0, p2, p3}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30582 + move-result v0
30584 + goto :goto_4
30585 +.end method
30587 +.method private requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
30588 + .registers 24
30590 + move-object/from16 v0, p0
30592 + iget-object v0, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->lock:Ljava/lang/Object;
30594 + move-object/from16 v19, v0
30596 + monitor-enter v19
30598 + :try_start_7
30599 + move-object/from16 v0, p0
30601 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
30603 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
30605 + move-result-object v2
30607 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
30609 + move-result v3
30611 + move-object/from16 v0, p0
30613 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30615 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
30617 + move-result-object v7
30619 + const/16 v18, 0x0
30621 + if-eqz v7, :cond_239
30623 + const-string v1, "gps"
30625 + move-object/from16 v0, p1
30627 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30629 + move-result v1
30631 + if-eqz v1, :cond_111
30633 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
30635 + move-result v1
30637 + packed-switch v1, :pswitch_data_25e
30639 + :cond_30
30640 + :goto_30
30641 + monitor-exit v19
30643 + return v18
30645 + :pswitch_32
30646 + move-object/from16 v0, p0
30648 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30650 + const/4 v4, 0x0
30652 + const-string v5, "locationGPS"
30654 + const/4 v6, 0x0
30656 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30658 + goto :goto_30
30660 + :catchall_3e
30661 + move-exception v1
30663 + monitor-exit v19
30664 + :try_end_40
30665 + .catchall {:try_start_7 .. :try_end_40} :catchall_3e
30667 + throw v1
30669 + :pswitch_41
30670 + if-eqz p3, :cond_46
30672 + :try_start_43
30673 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
30675 + :cond_46
30676 + const/16 v18, 0x1
30678 + move-object/from16 v0, p0
30680 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30682 + const/4 v4, 0x1
30684 + const-string v5, "locationGPS"
30686 + const/4 v6, 0x0
30688 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30689 + :try_end_53
30690 + .catchall {:try_start_43 .. :try_end_53} :catchall_3e
30692 + goto :goto_30
30694 + :pswitch_54
30695 + :try_start_54
30696 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
30698 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
30700 + move-result-object v1
30702 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
30704 + move-result-wide v13
30706 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
30708 + move-result-object v1
30710 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
30712 + move-result-wide v15
30714 + move-object/from16 v9, p0
30716 + move-object/from16 v10, p1
30718 + move-object/from16 v11, p2
30720 + move-object/from16 v12, p3
30722 + 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
30724 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
30725 + :try_end_74
30726 + .catchall {:try_start_54 .. :try_end_74} :catchall_3e
30727 + .catch Ljava/lang/NumberFormatException; {:try_start_54 .. :try_end_74} :catch_a6
30729 + const/16 v18, 0x1
30731 + :goto_76
30732 + :try_start_76
30733 + move-object/from16 v0, p0
30735 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30737 + const/4 v4, 0x2
30739 + const-string v5, "locationGPS"
30741 + new-instance v6, Ljava/lang/StringBuilder;
30743 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30745 + const-string v8, "Lat: "
30747 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30749 + move-result-object v6
30751 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
30753 + move-result-object v8
30755 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30757 + move-result-object v6
30759 + const-string v8, " Lon: "
30761 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30763 + move-result-object v6
30765 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
30767 + move-result-object v8
30769 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30771 + move-result-object v6
30773 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30775 + move-result-object v6
30777 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30779 + goto :goto_30
30781 + :catch_a6
30782 + move-exception v17
30784 + const-string v1, "PrivacyLocationManager"
30786 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
30788 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
30789 + :try_end_af
30790 + .catchall {:try_start_76 .. :try_end_af} :catchall_3e
30792 + const/16 v18, 0x1
30794 + goto :goto_76
30796 + :pswitch_b2
30797 + :try_start_b2
30798 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
30800 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
30802 + move-result-object v1
30804 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
30806 + move-result-wide v13
30808 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
30810 + move-result-object v1
30812 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
30814 + move-result-wide v15
30816 + move-object/from16 v9, p0
30818 + move-object/from16 v10, p1
30820 + move-object/from16 v11, p2
30822 + move-object/from16 v12, p3
30824 + 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
30826 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
30827 + :try_end_d2
30828 + .catchall {:try_start_b2 .. :try_end_d2} :catchall_3e
30829 + .catch Ljava/lang/NumberFormatException; {:try_start_b2 .. :try_end_d2} :catch_105
30831 + const/16 v18, 0x1
30833 + :goto_d4
30834 + :try_start_d4
30835 + move-object/from16 v0, p0
30837 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30839 + const/4 v4, 0x3
30841 + const-string v5, "locationGPS"
30843 + new-instance v6, Ljava/lang/StringBuilder;
30845 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
30847 + const-string v8, "Lat: "
30849 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30851 + move-result-object v6
30853 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
30855 + move-result-object v8
30857 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30859 + move-result-object v6
30861 + const-string v8, " Lon: "
30863 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30865 + move-result-object v6
30867 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
30869 + move-result-object v8
30871 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
30873 + move-result-object v6
30875 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
30877 + move-result-object v6
30879 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30881 + goto/16 :goto_30
30883 + :catch_105
30884 + move-exception v17
30886 + const-string v1, "PrivacyLocationManager"
30888 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
30890 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
30892 + const/16 v18, 0x1
30894 + goto :goto_d4
30896 + :cond_111
30897 + const-string/jumbo v1, "network"
30899 + move-object/from16 v0, p1
30901 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
30903 + move-result v1
30905 + if-eqz v1, :cond_204
30907 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
30909 + move-result v1
30911 + packed-switch v1, :pswitch_data_26a
30913 + goto/16 :goto_30
30915 + :pswitch_125
30916 + move-object/from16 v0, p0
30918 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30920 + const/4 v4, 0x0
30922 + const-string v5, "locationNetwork"
30924 + const/4 v6, 0x0
30926 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30928 + goto/16 :goto_30
30930 + :pswitch_132
30931 + if-eqz p3, :cond_137
30933 + invoke-virtual/range {p3 .. p3}, Landroid/app/PendingIntent;->cancel()V
30935 + :cond_137
30936 + const/16 v18, 0x1
30938 + move-object/from16 v0, p0
30940 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30942 + const/4 v4, 0x1
30944 + const-string v5, "locationNetwork"
30946 + const/4 v6, 0x0
30948 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
30949 + :try_end_144
30950 + .catchall {:try_start_d4 .. :try_end_144} :catchall_3e
30952 + goto/16 :goto_30
30954 + :pswitch_146
30955 + :try_start_146
30956 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
30958 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
30960 + move-result-object v1
30962 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
30964 + move-result-wide v13
30966 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
30968 + move-result-object v1
30970 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
30972 + move-result-wide v15
30974 + move-object/from16 v9, p0
30976 + move-object/from16 v10, p1
30978 + move-object/from16 v11, p2
30980 + move-object/from16 v12, p3
30982 + 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
30984 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
30985 + :try_end_166
30986 + .catchall {:try_start_146 .. :try_end_166} :catchall_3e
30987 + .catch Ljava/lang/NumberFormatException; {:try_start_146 .. :try_end_166} :catch_199
30989 + const/16 v18, 0x1
30991 + :goto_168
30992 + :try_start_168
30993 + move-object/from16 v0, p0
30995 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
30997 + const/4 v4, 0x2
30999 + const-string v5, "locationNetwork"
31001 + new-instance v6, Ljava/lang/StringBuilder;
31003 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
31005 + const-string v8, "Lat: "
31007 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31009 + move-result-object v6
31011 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
31013 + move-result-object v8
31015 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31017 + move-result-object v6
31019 + const-string v8, " Lon: "
31021 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31023 + move-result-object v6
31025 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
31027 + move-result-object v8
31029 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31031 + move-result-object v6
31033 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31035 + move-result-object v6
31037 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31039 + goto/16 :goto_30
31041 + :catch_199
31042 + move-exception v17
31044 + const-string v1, "PrivacyLocationManager"
31046 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
31048 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
31049 + :try_end_1a2
31050 + .catchall {:try_start_168 .. :try_end_1a2} :catchall_3e
31052 + const/16 v18, 0x1
31054 + goto :goto_168
31056 + :pswitch_1a5
31057 + :try_start_1a5
31058 + new-instance v8, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;
31060 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
31062 + move-result-object v1
31064 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31066 + move-result-wide v13
31068 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
31070 + move-result-object v1
31072 + invoke-static {v1}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31074 + move-result-wide v15
31076 + move-object/from16 v9, p0
31078 + move-object/from16 v10, p1
31080 + move-object/from16 v11, p2
31082 + move-object/from16 v12, p3
31084 + 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
31086 + invoke-virtual {v8}, Landroid/privacy/surrogate/PrivacyLocationManager$PrivacyLocationUpdater;->start()V
31087 + :try_end_1c5
31088 + .catchall {:try_start_1a5 .. :try_end_1c5} :catchall_3e
31089 + .catch Ljava/lang/NumberFormatException; {:try_start_1a5 .. :try_end_1c5} :catch_1f8
31091 + const/16 v18, 0x1
31093 + :goto_1c7
31094 + :try_start_1c7
31095 + move-object/from16 v0, p0
31097 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31099 + const/4 v4, 0x3
31101 + const-string v5, "locationNetwork"
31103 + new-instance v6, Ljava/lang/StringBuilder;
31105 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
31107 + const-string v8, "Lat: "
31109 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31111 + move-result-object v6
31113 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
31115 + move-result-object v8
31117 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31119 + move-result-object v6
31121 + const-string v8, " Lon: "
31123 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31125 + move-result-object v6
31127 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
31129 + move-result-object v8
31131 + invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31133 + move-result-object v6
31135 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31137 + move-result-object v6
31139 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31141 + goto/16 :goto_30
31143 + :catch_1f8
31144 + move-exception v17
31146 + const-string v1, "PrivacyLocationManager"
31148 + const-string/jumbo v4, "requestLocationUpdates: invalid coordinates"
31150 + invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
31152 + const/16 v18, 0x1
31154 + goto :goto_1c7
31156 + :cond_204
31157 + const-string/jumbo v1, "passive"
31159 + move-object/from16 v0, p1
31161 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31163 + move-result v1
31165 + if-eqz v1, :cond_30
31167 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
31169 + move-result v1
31171 + if-nez v1, :cond_22a
31173 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
31175 + move-result v1
31177 + if-nez v1, :cond_22a
31179 + const/16 v18, 0x0
31181 + move-object/from16 v0, p0
31183 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31185 + const/4 v4, 0x0
31187 + const-string v5, "locationGPS"
31189 + const/4 v6, 0x0
31191 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31193 + goto/16 :goto_30
31195 + :cond_22a
31196 + const/16 v18, 0x1
31198 + move-object/from16 v0, p0
31200 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31202 + const/4 v4, 0x1
31204 + const-string v5, "locationGPS"
31206 + const/4 v6, 0x0
31208 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31210 + goto/16 :goto_30
31212 + :cond_239
31213 + const-string/jumbo v1, "network"
31215 + move-object/from16 v0, p1
31217 + invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31219 + move-result v1
31221 + if-eqz v1, :cond_251
31223 + move-object/from16 v0, p0
31225 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31227 + const/4 v4, 0x0
31229 + const-string v5, "locationNetwork"
31231 + const/4 v6, 0x0
31233 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31235 + goto/16 :goto_30
31237 + :cond_251
31238 + move-object/from16 v0, p0
31240 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31242 + const/4 v4, 0x0
31244 + const-string v5, "locationGPS"
31246 + const/4 v6, 0x0
31248 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31249 + :try_end_25c
31250 + .catchall {:try_start_1c7 .. :try_end_25c} :catchall_3e
31252 + goto/16 :goto_30
31254 + :pswitch_data_25e
31255 + .packed-switch 0x0
31256 + :pswitch_32
31257 + :pswitch_41
31258 + :pswitch_54
31259 + :pswitch_b2
31260 + .end packed-switch
31262 + :pswitch_data_26a
31263 + .packed-switch 0x0
31264 + :pswitch_125
31265 + :pswitch_132
31266 + :pswitch_146
31267 + :pswitch_1a5
31268 + .end packed-switch
31269 +.end method
31272 +# virtual methods
31273 +.method public addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
31274 + .registers 10
31276 + const/4 v5, 0x0
31278 + const/4 v7, 0x0
31280 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
31282 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31284 + move-result-object v1
31286 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31288 + move-result v2
31290 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31292 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31294 + move-result-object v6
31296 + if-eqz v6, :cond_24
31298 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
31300 + move-result v0
31302 + if-eqz v0, :cond_24
31304 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31306 + const/4 v3, 0x1
31308 + const-string v4, "locationGPS"
31310 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31312 + move v0, v7
31314 + :goto_23
31315 + return v0
31317 + :cond_24
31318 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31320 + const-string v4, "locationGPS"
31322 + move v3, v7
31324 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31326 + invoke-super {p0, p1}, Landroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
31328 + move-result v0
31330 + goto :goto_23
31331 +.end method
31333 +.method public getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
31334 + .registers 14
31336 + const/4 v11, 0x3
31338 + const/4 v10, 0x2
31340 + const/4 v8, 0x1
31342 + const/4 v3, 0x0
31344 + const/4 v5, 0x0
31346 + if-nez p1, :cond_c
31348 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
31350 + move-result-object v7
31352 + :cond_b
31353 + :goto_b
31354 + return-object v7
31356 + :cond_c
31357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
31359 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
31361 + move-result-object v1
31363 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
31365 + move-result v2
31367 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31369 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
31371 + move-result-object v6
31373 + const/4 v7, 0x0
31375 + if-eqz v6, :cond_22c
31377 + const-string v0, "gps"
31379 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31381 + move-result v0
31383 + if-eqz v0, :cond_ff
31385 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
31387 + move-result v0
31389 + packed-switch v0, :pswitch_data_29a
31391 + goto :goto_b
31393 + :pswitch_2f
31394 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
31396 + move-result-object v7
31398 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31400 + const-string v4, "locationGPS"
31402 + if-eqz v7, :cond_5e
31404 + new-instance v5, Ljava/lang/StringBuilder;
31406 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31408 + const-string v8, "Lat: "
31410 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31412 + move-result-object v5
31414 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31416 + move-result-wide v8
31418 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31420 + move-result-object v5
31422 + const-string v8, " Lon: "
31424 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31426 + move-result-object v5
31428 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31430 + move-result-wide v8
31432 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31434 + move-result-object v5
31436 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31438 + move-result-object v5
31440 + :cond_5e
31441 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31443 + goto :goto_b
31445 + :pswitch_62
31446 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31448 + const-string v4, "locationGPS"
31450 + move v3, v8
31452 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31454 + goto :goto_b
31456 + :pswitch_6b
31457 + new-instance v7, Landroid/location/Location;
31459 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
31461 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
31463 + move-result-object v0
31465 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31467 + move-result-wide v3
31469 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
31471 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
31473 + move-result-object v0
31475 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31477 + move-result-wide v3
31479 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
31481 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31483 + const-string v4, "locationGPS"
31485 + new-instance v3, Ljava/lang/StringBuilder;
31487 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
31489 + const-string v5, "Lat: "
31491 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31493 + move-result-object v3
31495 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31497 + move-result-wide v8
31499 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31501 + move-result-object v3
31503 + const-string v5, " Lon: "
31505 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31507 + move-result-object v3
31509 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31511 + move-result-wide v8
31513 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31515 + move-result-object v3
31517 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31519 + move-result-object v5
31521 + move v3, v10
31523 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31525 + goto/16 :goto_b
31527 + :pswitch_b5
31528 + new-instance v7, Landroid/location/Location;
31530 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
31532 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLat()Ljava/lang/String;
31534 + move-result-object v0
31536 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31538 + move-result-wide v3
31540 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
31542 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsLon()Ljava/lang/String;
31544 + move-result-object v0
31546 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31548 + move-result-wide v3
31550 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
31552 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31554 + const-string v4, "locationGPS"
31556 + new-instance v3, Ljava/lang/StringBuilder;
31558 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
31560 + const-string v5, "Lat: "
31562 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31564 + move-result-object v3
31566 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31568 + move-result-wide v8
31570 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31572 + move-result-object v3
31574 + const-string v5, " Lon: "
31576 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31578 + move-result-object v3
31580 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31582 + move-result-wide v8
31584 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31586 + move-result-object v3
31588 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31590 + move-result-object v5
31592 + move v3, v11
31594 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31596 + goto/16 :goto_b
31598 + :cond_ff
31599 + const-string/jumbo v0, "network"
31601 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31603 + move-result v0
31605 + if-eqz v0, :cond_1e3
31607 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
31609 + move-result v0
31611 + packed-switch v0, :pswitch_data_2a6
31613 + goto/16 :goto_b
31615 + :pswitch_111
31616 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
31618 + move-result-object v7
31620 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31622 + const-string v4, "locationNetwork"
31624 + if-eqz v7, :cond_140
31626 + new-instance v5, Ljava/lang/StringBuilder;
31628 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31630 + const-string v8, "Lat: "
31632 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31634 + move-result-object v5
31636 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31638 + move-result-wide v8
31640 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31642 + move-result-object v5
31644 + const-string v8, " Lon: "
31646 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31648 + move-result-object v5
31650 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31652 + move-result-wide v8
31654 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31656 + move-result-object v5
31658 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31660 + move-result-object v5
31662 + :cond_140
31663 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31665 + goto/16 :goto_b
31667 + :pswitch_145
31668 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31670 + const-string v4, "locationNetwork"
31672 + move v3, v8
31674 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31676 + goto/16 :goto_b
31678 + :pswitch_14f
31679 + new-instance v7, Landroid/location/Location;
31681 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
31683 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
31685 + move-result-object v0
31687 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31689 + move-result-wide v3
31691 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
31693 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
31695 + move-result-object v0
31697 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31699 + move-result-wide v3
31701 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
31703 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31705 + const-string v4, "locationNetwork"
31707 + new-instance v3, Ljava/lang/StringBuilder;
31709 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
31711 + const-string v5, "Lat: "
31713 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31715 + move-result-object v3
31717 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31719 + move-result-wide v8
31721 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31723 + move-result-object v3
31725 + const-string v5, " Lon: "
31727 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31729 + move-result-object v3
31731 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31733 + move-result-wide v8
31735 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31737 + move-result-object v3
31739 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31741 + move-result-object v5
31743 + move v3, v10
31745 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31747 + goto/16 :goto_b
31749 + :pswitch_199
31750 + new-instance v7, Landroid/location/Location;
31752 + invoke-direct {v7, p1}, Landroid/location/Location;-><init>(Ljava/lang/String;)V
31754 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLat()Ljava/lang/String;
31756 + move-result-object v0
31758 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31760 + move-result-wide v3
31762 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLatitude(D)V
31764 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkLon()Ljava/lang/String;
31766 + move-result-object v0
31768 + invoke-static {v0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
31770 + move-result-wide v3
31772 + invoke-virtual {v7, v3, v4}, Landroid/location/Location;->setLongitude(D)V
31774 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31776 + const-string v4, "locationNetwork"
31778 + new-instance v3, Ljava/lang/StringBuilder;
31780 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
31782 + const-string v5, "Lat: "
31784 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31786 + move-result-object v3
31788 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31790 + move-result-wide v8
31792 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31794 + move-result-object v3
31796 + const-string v5, " Lon: "
31798 + invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31800 + move-result-object v3
31802 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31804 + move-result-wide v8
31806 + invoke-virtual {v3, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31808 + move-result-object v3
31810 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31812 + move-result-object v5
31814 + move v3, v11
31816 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31818 + goto/16 :goto_b
31820 + :cond_1e3
31821 + const-string/jumbo v0, "passive"
31823 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31825 + move-result v0
31827 + if-eqz v0, :cond_b
31829 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
31831 + move-result v0
31833 + if-nez v0, :cond_b
31835 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
31837 + move-result v0
31839 + if-nez v0, :cond_b
31841 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
31843 + move-result-object v7
31845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31847 + const-string v4, "locationGPS"
31849 + if-eqz v7, :cond_227
31851 + new-instance v5, Ljava/lang/StringBuilder;
31853 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31855 + const-string v8, "Lat: "
31857 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31859 + move-result-object v5
31861 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31863 + move-result-wide v8
31865 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31867 + move-result-object v5
31869 + const-string v8, " Lon: "
31871 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31873 + move-result-object v5
31875 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31877 + move-result-wide v8
31879 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31881 + move-result-object v5
31883 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31885 + move-result-object v5
31887 + :cond_227
31888 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31890 + goto/16 :goto_b
31892 + :cond_22c
31893 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
31895 + move-result-object v7
31897 + const-string/jumbo v0, "network"
31899 + invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
31901 + move-result v0
31903 + if-eqz v0, :cond_269
31905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31907 + const-string v4, "locationNetwork"
31909 + if-eqz v7, :cond_264
31911 + new-instance v5, Ljava/lang/StringBuilder;
31913 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31915 + const-string v8, "Lat: "
31917 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31919 + move-result-object v5
31921 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31923 + move-result-wide v8
31925 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31927 + move-result-object v5
31929 + const-string v8, " Lon: "
31931 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31933 + move-result-object v5
31935 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31937 + move-result-wide v8
31939 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31941 + move-result-object v5
31943 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31945 + move-result-object v5
31947 + :cond_264
31948 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31950 + goto/16 :goto_b
31952 + :cond_269
31953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
31955 + const-string v4, "locationGPS"
31957 + if-eqz v7, :cond_294
31959 + new-instance v5, Ljava/lang/StringBuilder;
31961 + invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
31963 + const-string v8, "Lat: "
31965 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31967 + move-result-object v5
31969 + invoke-virtual {v7}, Landroid/location/Location;->getLatitude()D
31971 + move-result-wide v8
31973 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31975 + move-result-object v5
31977 + const-string v8, " Lon: "
31979 + invoke-virtual {v5, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
31981 + move-result-object v5
31983 + invoke-virtual {v7}, Landroid/location/Location;->getLongitude()D
31985 + move-result-wide v8
31987 + invoke-virtual {v5, v8, v9}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
31989 + move-result-object v5
31991 + invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
31993 + move-result-object v5
31995 + :cond_294
31996 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
31998 + goto/16 :goto_b
32000 + nop
32002 + :pswitch_data_29a
32003 + .packed-switch 0x0
32004 + :pswitch_2f
32005 + :pswitch_62
32006 + :pswitch_6b
32007 + :pswitch_b5
32008 + .end packed-switch
32010 + :pswitch_data_2a6
32011 + .packed-switch 0x0
32012 + :pswitch_111
32013 + :pswitch_145
32014 + :pswitch_14f
32015 + :pswitch_199
32016 + .end packed-switch
32017 +.end method
32019 +.method public getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
32020 + .registers 7
32022 + if-nez p1, :cond_7
32024 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
32026 + move-result-object v0
32028 + :cond_6
32029 + :goto_6
32030 + return-object v0
32032 + :cond_7
32033 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32035 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
32037 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32039 + move-result-object v3
32041 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32043 + move-result v4
32045 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32047 + move-result-object v1
32049 + const/4 v0, 0x0
32051 + if-eqz v1, :cond_5f
32053 + const-string v2, "gps"
32055 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32057 + move-result v2
32059 + if-eqz v2, :cond_2f
32061 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
32063 + move-result v2
32065 + packed-switch v2, :pswitch_data_64
32067 + :pswitch_29
32068 + goto :goto_6
32070 + :pswitch_2a
32071 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
32073 + move-result-object v0
32075 + goto :goto_6
32077 + :cond_2f
32078 + const-string/jumbo v2, "network"
32080 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32082 + move-result v2
32084 + if-eqz v2, :cond_45
32086 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
32088 + move-result v2
32090 + packed-switch v2, :pswitch_data_70
32092 + :pswitch_3f
32093 + goto :goto_6
32095 + :pswitch_40
32096 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
32098 + move-result-object v0
32100 + goto :goto_6
32102 + :cond_45
32103 + const-string/jumbo v2, "passive"
32105 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32107 + move-result v2
32109 + if-eqz v2, :cond_6
32111 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
32113 + move-result v2
32115 + if-eqz v2, :cond_5a
32117 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
32119 + move-result v2
32121 + if-nez v2, :cond_6
32123 + :cond_5a
32124 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
32126 + move-result-object v0
32128 + goto :goto_6
32130 + :cond_5f
32131 + invoke-super {p0, p1}, Landroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
32133 + move-result-object v0
32135 + goto :goto_6
32137 + :pswitch_data_64
32138 + .packed-switch 0x0
32139 + :pswitch_2a
32140 + :pswitch_29
32141 + :pswitch_2a
32142 + :pswitch_2a
32143 + .end packed-switch
32145 + :pswitch_data_70
32146 + .packed-switch 0x0
32147 + :pswitch_40
32148 + :pswitch_3f
32149 + :pswitch_40
32150 + :pswitch_40
32151 + .end packed-switch
32152 +.end method
32154 +.method public isProviderEnabled(Ljava/lang/String;)Z
32155 + .registers 7
32157 + if-nez p1, :cond_7
32159 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
32161 + move-result v0
32163 + :cond_6
32164 + :goto_6
32165 + :pswitch_6
32166 + return v0
32168 + :cond_7
32169 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32171 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyLocationManager;->context:Landroid/content/Context;
32173 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32175 + move-result-object v3
32177 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
32179 + move-result v4
32181 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32183 + move-result-object v1
32185 + const/4 v0, 0x0
32187 + if-eqz v1, :cond_65
32189 + const-string v2, "gps"
32191 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32193 + move-result v2
32195 + if-eqz v2, :cond_31
32197 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
32199 + move-result v2
32201 + packed-switch v2, :pswitch_data_6a
32203 + goto :goto_6
32205 + :pswitch_2a
32206 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
32208 + move-result v0
32210 + goto :goto_6
32212 + :pswitch_2f
32213 + const/4 v0, 0x1
32215 + goto :goto_6
32217 + :cond_31
32218 + const-string/jumbo v2, "network"
32220 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32222 + move-result v2
32224 + if-eqz v2, :cond_49
32226 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
32228 + move-result v2
32230 + packed-switch v2, :pswitch_data_76
32232 + goto :goto_6
32234 + :pswitch_42
32235 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
32237 + move-result v0
32239 + goto :goto_6
32241 + :pswitch_47
32242 + const/4 v0, 0x1
32244 + goto :goto_6
32246 + :cond_49
32247 + const-string/jumbo v2, "passive"
32249 + invoke-virtual {p1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
32251 + move-result v2
32253 + if-eqz v2, :cond_6
32255 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
32257 + move-result v2
32259 + if-eqz v2, :cond_5e
32261 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
32263 + move-result v2
32265 + if-nez v2, :cond_63
32267 + :cond_5e
32268 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
32270 + move-result v0
32272 + goto :goto_6
32274 + :cond_63
32275 + const/4 v0, 0x0
32277 + goto :goto_6
32279 + :cond_65
32280 + invoke-super {p0, p1}, Landroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
32282 + move-result v0
32284 + goto :goto_6
32286 + :pswitch_data_6a
32287 + .packed-switch 0x0
32288 + :pswitch_2a
32289 + :pswitch_6
32290 + :pswitch_2f
32291 + :pswitch_2f
32292 + .end packed-switch
32294 + :pswitch_data_76
32295 + .packed-switch 0x0
32296 + :pswitch_42
32297 + :pswitch_6
32298 + :pswitch_47
32299 + :pswitch_47
32300 + .end packed-switch
32301 +.end method
32303 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
32304 + .registers 7
32306 + if-eqz p4, :cond_4
32308 + if-nez p5, :cond_8
32310 + :cond_4
32311 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
32313 + :cond_7
32314 + :goto_7
32315 + return-void
32317 + :cond_8
32318 + const/4 v0, 0x0
32320 + invoke-direct {p0, p4, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32322 + move-result v0
32324 + if-nez v0, :cond_7
32326 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/app/PendingIntent;)V
32328 + goto :goto_7
32329 +.end method
32331 +.method public requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
32332 + .registers 8
32334 + if-eqz p4, :cond_4
32336 + if-nez p5, :cond_8
32338 + :cond_4
32339 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
32341 + :cond_7
32342 + :goto_7
32343 + return-void
32345 + :cond_8
32346 + const/4 v0, 0x0
32348 + invoke-direct {p0, p4, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32350 + move-result v0
32352 + if-nez v0, :cond_7
32354 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
32356 + goto :goto_7
32357 +.end method
32359 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
32360 + .registers 7
32362 + if-eqz p1, :cond_4
32364 + if-nez p5, :cond_8
32366 + :cond_4
32367 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
32369 + :cond_7
32370 + :goto_7
32371 + return-void
32373 + :cond_8
32374 + const/4 v0, 0x0
32376 + invoke-direct {p0, p1, v0, p5}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32378 + move-result v0
32380 + if-nez v0, :cond_7
32382 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
32384 + goto :goto_7
32385 +.end method
32387 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
32388 + .registers 7
32390 + if-eqz p1, :cond_4
32392 + if-nez p5, :cond_8
32394 + :cond_4
32395 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
32397 + :cond_7
32398 + :goto_7
32399 + return-void
32401 + :cond_8
32402 + const/4 v0, 0x0
32404 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32406 + move-result v0
32408 + if-nez v0, :cond_7
32410 + invoke-super/range {p0 .. p5}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
32412 + goto :goto_7
32413 +.end method
32415 +.method public requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
32416 + .registers 8
32418 + if-eqz p1, :cond_4
32420 + if-nez p5, :cond_8
32422 + :cond_4
32423 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
32425 + :cond_7
32426 + :goto_7
32427 + return-void
32429 + :cond_8
32430 + const/4 v0, 0x0
32432 + invoke-direct {p0, p1, p5, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32434 + move-result v0
32436 + if-nez v0, :cond_7
32438 + invoke-super/range {p0 .. p6}, Landroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
32440 + goto :goto_7
32441 +.end method
32443 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
32444 + .registers 4
32446 + if-eqz p1, :cond_4
32448 + if-nez p2, :cond_8
32450 + :cond_4
32451 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
32453 + :cond_7
32454 + :goto_7
32455 + return-void
32457 + :cond_8
32458 + const/4 v0, 0x0
32460 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32462 + move-result v0
32464 + if-nez v0, :cond_7
32466 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/app/PendingIntent;)V
32468 + goto :goto_7
32469 +.end method
32471 +.method public requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
32472 + .registers 5
32474 + if-eqz p1, :cond_4
32476 + if-nez p2, :cond_8
32478 + :cond_4
32479 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
32481 + :cond_7
32482 + :goto_7
32483 + return-void
32485 + :cond_8
32486 + const/4 v0, 0x0
32488 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32490 + move-result v0
32492 + if-nez v0, :cond_7
32494 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Landroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
32496 + goto :goto_7
32497 +.end method
32499 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
32500 + .registers 4
32502 + if-eqz p1, :cond_4
32504 + if-nez p2, :cond_8
32506 + :cond_4
32507 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
32509 + :cond_7
32510 + :goto_7
32511 + return-void
32513 + :cond_8
32514 + const/4 v0, 0x0
32516 + invoke-direct {p0, p1, v0, p2}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32518 + move-result v0
32520 + if-nez v0, :cond_7
32522 + invoke-super {p0, p1, p2}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
32524 + goto :goto_7
32525 +.end method
32527 +.method public requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
32528 + .registers 5
32530 + if-eqz p1, :cond_4
32532 + if-nez p2, :cond_8
32534 + :cond_4
32535 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
32537 + :cond_7
32538 + :goto_7
32539 + return-void
32541 + :cond_8
32542 + const/4 v0, 0x0
32544 + invoke-direct {p0, p1, p2, v0}, Landroid/privacy/surrogate/PrivacyLocationManager;->requestLocationUpdates(Ljava/lang/String;Landroid/location/LocationListener;Landroid/app/PendingIntent;)Z
32546 + move-result v0
32548 + if-nez v0, :cond_7
32550 + invoke-super {p0, p1, p2, p3}, Landroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
32552 + goto :goto_7
32553 +.end method
32554 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyPhoneProxy.smali ext-framework/smali/android/privacy/surrogate/PrivacyPhoneProxy.smali
32555 --- stock-framework/smali/android/privacy/surrogate/PrivacyPhoneProxy.smali 1969-12-31 18:00:00.000000000 -0600
32556 +++ ext-framework/smali/android/privacy/surrogate/PrivacyPhoneProxy.smali 2012-11-08 09:11:56.686842419 -0600
32557 @@ -0,0 +1,3064 @@
32558 +.class public Landroid/privacy/surrogate/PrivacyPhoneProxy;
32559 +.super Lcom/android/internal/telephony/PhoneProxy;
32560 +.source "PrivacyPhoneProxy.java"
32563 +# static fields
32564 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyPhoneProxy"
32567 +# instance fields
32568 +.field private context:Landroid/content/Context;
32570 +.field private context_available:Z
32572 +.field private mPm:Landroid/content/pm/IPackageManager;
32574 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
32577 +# direct methods
32578 +.method public constructor <init>(Lcom/android/internal/telephony/Phone;Landroid/content/Context;)V
32579 + .registers 6
32581 + invoke-direct {p0, p1}, Lcom/android/internal/telephony/PhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;)V
32583 + if-eqz p2, :cond_3e
32585 + iput-object p2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
32587 + const/4 v0, 0x1
32589 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
32591 + :goto_a
32592 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
32594 + invoke-direct {p0, v0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->initiate(Z)V
32596 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
32598 + const-string/jumbo v1, "privacy"
32600 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32602 + move-result-object v1
32604 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
32606 + move-result-object v1
32608 + invoke-direct {v0, p2, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
32610 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32612 + const-string v0, "PrivacyPhoneProxy"
32614 + new-instance v1, Ljava/lang/StringBuilder;
32616 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32618 + const-string v2, "Constructor ready for package: "
32620 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32622 + move-result-object v1
32624 + invoke-virtual {p2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32626 + move-result-object v2
32628 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32630 + move-result-object v1
32632 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32634 + move-result-object v1
32636 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
32638 + return-void
32640 + :cond_3e
32641 + const/4 v0, 0x0
32643 + iput-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
32645 + goto :goto_a
32646 +.end method
32648 +.method private getPackageName()[Ljava/lang/String;
32649 + .registers 6
32651 + :try_start_0
32652 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->mPm:Landroid/content/pm/IPackageManager;
32654 + if-eqz v3, :cond_f
32656 + invoke-static {}, Landroid/os/Process;->myUid()I
32658 + move-result v2
32660 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->mPm:Landroid/content/pm/IPackageManager;
32662 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32664 + move-result-object v1
32666 + :goto_e
32667 + return-object v1
32669 + :cond_f
32670 + const-string/jumbo v3, "package"
32672 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32674 + move-result-object v3
32676 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32678 + move-result-object v3
32680 + iput-object v3, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->mPm:Landroid/content/pm/IPackageManager;
32682 + invoke-static {}, Landroid/os/Process;->myUid()I
32684 + move-result v2
32686 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->mPm:Landroid/content/pm/IPackageManager;
32688 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
32689 + :try_end_25
32690 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
32692 + move-result-object v1
32694 + goto :goto_e
32696 + :catch_27
32697 + move-exception v0
32699 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
32701 + const-string v3, "PrivacyPhoneProxy"
32703 + const-string/jumbo v4, "something went wrong with getting package name"
32705 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32707 + const/4 v1, 0x0
32709 + goto :goto_e
32710 +.end method
32712 +.method private initiate(Z)V
32713 + .registers 5
32715 + if-eqz p1, :cond_21
32717 + const-string v0, "PrivacyPhoneProxy"
32719 + new-instance v1, Ljava/lang/StringBuilder;
32721 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32723 + const-string v2, "Context is available for package:"
32725 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32727 + move-result-object v1
32729 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
32731 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32733 + move-result-object v2
32735 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32737 + move-result-object v1
32739 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32741 + move-result-object v1
32743 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
32745 + :goto_20
32746 + return-void
32748 + :cond_21
32749 + const-string v0, "PrivacyPhoneProxy"
32751 + new-instance v1, Ljava/lang/StringBuilder;
32753 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
32755 + const-string v2, "Context is not available for package: "
32757 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32759 + move-result-object v1
32761 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
32763 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32765 + move-result-object v2
32767 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
32769 + move-result-object v1
32771 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
32773 + move-result-object v1
32775 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
32777 + const-string/jumbo v0, "package"
32779 + invoke-static {v0}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
32781 + move-result-object v0
32783 + invoke-static {v0}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
32785 + move-result-object v0
32787 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->mPm:Landroid/content/pm/IPackageManager;
32789 + goto :goto_20
32790 +.end method
32793 +# virtual methods
32794 +.method public dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
32795 + .registers 14
32796 + .annotation system Ldalvik/annotation/Throws;
32797 + value = {
32798 + Lcom/android/internal/telephony/CallStateException;
32800 + .end annotation
32802 + const/4 v3, 0x1
32804 + const/4 v4, -0x1
32806 + const/4 v2, 0x0
32808 + const/4 v5, 0x0
32810 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
32812 + if-eqz v0, :cond_4a
32814 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32816 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
32818 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32820 + move-result-object v1
32822 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32824 + move-result-object v11
32826 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32828 + if-eqz v0, :cond_35
32830 + if-eqz v11, :cond_35
32832 + invoke-virtual {v11}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
32834 + move-result v0
32836 + if-eqz v0, :cond_35
32838 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32840 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
32842 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32844 + move-result-object v1
32846 + const-string/jumbo v4, "phoneCall"
32848 + move-object v6, v5
32850 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32852 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
32854 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
32856 + throw v0
32858 + :cond_35
32859 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32861 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
32863 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
32865 + move-result-object v1
32867 + const-string/jumbo v4, "phoneCall"
32869 + move v3, v2
32871 + move-object v6, v5
32873 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32875 + invoke-super {p0, p1}, Lcom/android/internal/telephony/PhoneProxy;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
32877 + move-result-object v0
32879 + :goto_49
32880 + return-object v0
32882 + :cond_4a
32883 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
32885 + move-result-object v9
32887 + const/4 v7, 0x1
32889 + const/4 v11, 0x0
32891 + const/4 v10, 0x0
32893 + if-nez v9, :cond_58
32895 + invoke-super {p0, p1}, Lcom/android/internal/telephony/PhoneProxy;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
32897 + move-result-object v0
32899 + goto :goto_49
32901 + :cond_58
32902 + const/4 v8, 0x0
32904 + :goto_59
32905 + array-length v0, v9
32907 + if-ge v8, v0, :cond_72
32909 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32911 + aget-object v1, v9, v8
32913 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
32915 + move-result-object v11
32917 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32919 + if-eqz v0, :cond_85
32921 + if-eqz v11, :cond_85
32923 + invoke-virtual {v11}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
32925 + move-result v0
32927 + if-eqz v0, :cond_85
32929 + const/4 v7, 0x0
32931 + move v10, v8
32933 + :cond_72
32934 + if-eqz v7, :cond_88
32936 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32938 + aget-object v1, v9, v10
32940 + const-string/jumbo v4, "phoneCall"
32942 + move v3, v2
32944 + move-object v6, v5
32946 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32948 + invoke-super {p0, p1}, Lcom/android/internal/telephony/PhoneProxy;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
32950 + move-result-object v0
32952 + goto :goto_49
32954 + :cond_85
32955 + add-int/lit8 v8, v8, 0x1
32957 + goto :goto_59
32959 + :cond_88
32960 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32962 + aget-object v1, v9, v10
32964 + const-string/jumbo v4, "phoneCall"
32966 + move-object v6, v5
32968 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
32970 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
32972 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
32974 + throw v0
32975 +.end method
32977 +.method public dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
32978 + .registers 15
32979 + .annotation system Ldalvik/annotation/Throws;
32980 + value = {
32981 + Lcom/android/internal/telephony/CallStateException;
32983 + .end annotation
32985 + const/4 v3, 0x1
32987 + const/4 v4, -0x1
32989 + const/4 v2, 0x0
32991 + const/4 v5, 0x0
32993 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
32995 + if-eqz v0, :cond_4a
32997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
32999 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33001 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33003 + move-result-object v1
33005 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33007 + move-result-object v11
33009 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33011 + if-eqz v0, :cond_35
33013 + if-eqz v11, :cond_35
33015 + invoke-virtual {v11}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
33017 + move-result v0
33019 + if-eqz v0, :cond_35
33021 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33023 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33025 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33027 + move-result-object v1
33029 + const-string/jumbo v4, "phoneCall"
33031 + move-object v6, v5
33033 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33035 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
33037 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
33039 + throw v0
33041 + :cond_35
33042 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33044 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33046 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33048 + move-result-object v1
33050 + const-string/jumbo v4, "phoneCall"
33052 + move v3, v2
33054 + move-object v6, v5
33056 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33058 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/PhoneProxy;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
33060 + move-result-object v0
33062 + :goto_49
33063 + return-object v0
33065 + :cond_4a
33066 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
33068 + move-result-object v9
33070 + const/4 v7, 0x1
33072 + const/4 v11, 0x0
33074 + const/4 v10, 0x0
33076 + if-nez v9, :cond_58
33078 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/PhoneProxy;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
33080 + move-result-object v0
33082 + goto :goto_49
33084 + :cond_58
33085 + const/4 v8, 0x0
33087 + :goto_59
33088 + array-length v0, v9
33090 + if-ge v8, v0, :cond_72
33092 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33094 + aget-object v1, v9, v8
33096 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33098 + move-result-object v11
33100 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33102 + if-eqz v0, :cond_85
33104 + if-eqz v11, :cond_85
33106 + invoke-virtual {v11}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
33108 + move-result v0
33110 + if-eqz v0, :cond_85
33112 + const/4 v7, 0x0
33114 + move v10, v8
33116 + :cond_72
33117 + if-eqz v7, :cond_88
33119 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33121 + aget-object v1, v9, v10
33123 + const-string/jumbo v4, "phoneCall"
33125 + move v3, v2
33127 + move-object v6, v5
33129 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33131 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/PhoneProxy;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
33133 + move-result-object v0
33135 + goto :goto_49
33137 + :cond_85
33138 + add-int/lit8 v8, v8, 0x1
33140 + goto :goto_59
33142 + :cond_88
33143 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33145 + aget-object v1, v9, v10
33147 + const-string/jumbo v4, "phoneCall"
33149 + move-object v6, v5
33151 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33153 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
33155 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
33157 + throw v0
33158 +.end method
33160 +.method public getCellLocation()Landroid/telephony/CellLocation;
33161 + .registers 13
33163 + const/4 v5, 0x0
33165 + const/4 v2, 0x0
33167 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getPhoneType()I
33169 + move-result v11
33171 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
33173 + if-eqz v0, :cond_b7
33175 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33177 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33179 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33181 + move-result-object v1
33183 + invoke-static {}, Landroid/os/Process;->myUid()I
33185 + move-result v3
33187 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33189 + move-result-object v6
33191 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33193 + if-eqz v0, :cond_7d
33195 + if-eqz v6, :cond_7d
33197 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33199 + move-result v0
33201 + if-nez v0, :cond_2c
33203 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
33205 + move-result v0
33207 + if-eqz v0, :cond_7d
33209 + :cond_2c
33210 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33212 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33214 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33216 + move-result-object v1
33218 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33220 + move-result v3
33222 + const-string v4, "locationNetwork"
33224 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33226 + const-string v0, "PrivacyPhoneProxy"
33228 + new-instance v1, Ljava/lang/StringBuilder;
33230 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33232 + const-string/jumbo v2, "package: "
33234 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33236 + move-result-object v1
33238 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33240 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33242 + move-result-object v2
33244 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33246 + move-result-object v1
33248 + const-string v2, " BLOCKED for getCellLocation()"
33250 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33252 + move-result-object v1
33254 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33256 + move-result-object v1
33258 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33260 + packed-switch v11, :pswitch_data_170
33262 + new-instance v5, Landroid/telephony/gsm/GsmCellLocation;
33264 + invoke-direct {v5}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
33266 + :goto_6a
33267 + :pswitch_6a
33268 + return-object v5
33270 + :pswitch_6b
33271 + new-instance v5, Landroid/telephony/gsm/GsmCellLocation;
33273 + invoke-direct {v5}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
33275 + goto :goto_6a
33277 + :pswitch_71
33278 + new-instance v5, Landroid/telephony/cdma/CdmaCellLocation;
33280 + invoke-direct {v5}, Landroid/telephony/cdma/CdmaCellLocation;-><init>()V
33282 + goto :goto_6a
33284 + :pswitch_77
33285 + new-instance v5, Landroid/telephony/cdma/CdmaCellLocation;
33287 + invoke-direct {v5}, Landroid/telephony/cdma/CdmaCellLocation;-><init>()V
33289 + goto :goto_6a
33291 + :cond_7d
33292 + if-eqz v6, :cond_8d
33294 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33296 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33298 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33300 + move-result-object v1
33302 + const-string v4, "locationNetwork"
33304 + move v3, v2
33306 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33308 + :cond_8d
33309 + const-string v0, "PrivacyPhoneProxy"
33311 + new-instance v1, Ljava/lang/StringBuilder;
33313 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33315 + const-string/jumbo v2, "package: "
33317 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33319 + move-result-object v1
33321 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33323 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33325 + move-result-object v2
33327 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33329 + move-result-object v1
33331 + const-string v2, " ALLOWED for getCellLocation()"
33333 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33335 + move-result-object v1
33337 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33339 + move-result-object v1
33341 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33343 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getCellLocation()Landroid/telephony/CellLocation;
33345 + move-result-object v5
33347 + goto :goto_6a
33349 + :cond_b7
33350 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
33352 + move-result-object v9
33354 + const/4 v7, 0x1
33356 + const/4 v6, 0x0
33358 + const/4 v10, 0x0
33360 + if-nez v9, :cond_c5
33362 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getCellLocation()Landroid/telephony/CellLocation;
33364 + move-result-object v5
33366 + goto :goto_6a
33368 + :cond_c5
33369 + const/4 v8, 0x0
33371 + :goto_c6
33372 + array-length v0, v9
33374 + if-ge v8, v0, :cond_e9
33376 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33378 + aget-object v1, v9, v8
33380 + invoke-static {}, Landroid/os/Process;->myUid()I
33382 + move-result v3
33384 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33386 + move-result-object v6
33388 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33390 + if-eqz v0, :cond_11e
33392 + if-eqz v6, :cond_11e
33394 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33396 + move-result v0
33398 + if-nez v0, :cond_e7
33400 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
33402 + move-result v0
33404 + if-eqz v0, :cond_11e
33406 + :cond_e7
33407 + const/4 v7, 0x0
33409 + move v10, v8
33411 + :cond_e9
33412 + if-eqz v7, :cond_121
33414 + if-eqz v6, :cond_f7
33416 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33418 + aget-object v1, v9, v10
33420 + const-string v4, "locationNetwork"
33422 + move v3, v2
33424 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33426 + :cond_f7
33427 + const-string v0, "PrivacyPhoneProxy"
33429 + new-instance v1, Ljava/lang/StringBuilder;
33431 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33433 + const-string/jumbo v2, "package: "
33435 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33437 + move-result-object v1
33439 + aget-object v2, v9, v10
33441 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33443 + move-result-object v1
33445 + const-string v2, " ALLOWED for getCellLocation()"
33447 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33449 + move-result-object v1
33451 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33453 + move-result-object v1
33455 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33457 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getCellLocation()Landroid/telephony/CellLocation;
33459 + move-result-object v5
33461 + goto/16 :goto_6a
33463 + :cond_11e
33464 + add-int/lit8 v8, v8, 0x1
33466 + goto :goto_c6
33468 + :cond_121
33469 + if-eqz v6, :cond_130
33471 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33473 + aget-object v1, v9, v10
33475 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
33477 + move-result v3
33479 + const-string v4, "locationNetwork"
33481 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33483 + :cond_130
33484 + const-string v0, "PrivacyPhoneProxy"
33486 + new-instance v1, Ljava/lang/StringBuilder;
33488 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33490 + const-string/jumbo v2, "package: "
33492 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33494 + move-result-object v1
33496 + aget-object v2, v9, v10
33498 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33500 + move-result-object v1
33502 + const-string v2, " BLOCKED for getCellLocation()"
33504 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33506 + move-result-object v1
33508 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33510 + move-result-object v1
33512 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33514 + packed-switch v11, :pswitch_data_17c
33516 + new-instance v5, Landroid/telephony/gsm/GsmCellLocation;
33518 + invoke-direct {v5}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
33520 + goto/16 :goto_6a
33522 + :pswitch_15b
33523 + new-instance v5, Landroid/telephony/gsm/GsmCellLocation;
33525 + invoke-direct {v5}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
33527 + goto/16 :goto_6a
33529 + :pswitch_162
33530 + new-instance v5, Landroid/telephony/cdma/CdmaCellLocation;
33532 + invoke-direct {v5}, Landroid/telephony/cdma/CdmaCellLocation;-><init>()V
33534 + goto/16 :goto_6a
33536 + :pswitch_169
33537 + new-instance v5, Landroid/telephony/cdma/CdmaCellLocation;
33539 + invoke-direct {v5}, Landroid/telephony/cdma/CdmaCellLocation;-><init>()V
33541 + goto/16 :goto_6a
33543 + :pswitch_data_170
33544 + .packed-switch 0x0
33545 + :pswitch_6a
33546 + :pswitch_6b
33547 + :pswitch_71
33548 + :pswitch_77
33549 + .end packed-switch
33551 + :pswitch_data_17c
33552 + .packed-switch 0x0
33553 + :pswitch_6a
33554 + :pswitch_15b
33555 + :pswitch_162
33556 + :pswitch_169
33557 + .end packed-switch
33558 +.end method
33560 +.method public getDataConnectionState()Lcom/android/internal/telephony/Phone$DataState;
33561 + .registers 12
33563 + const/4 v5, 0x0
33565 + const/4 v2, 0x0
33567 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
33569 + if-eqz v0, :cond_97
33571 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33573 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33575 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33577 + move-result-object v1
33579 + invoke-static {}, Landroid/os/Process;->myUid()I
33581 + move-result v3
33583 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33585 + move-result-object v6
33587 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33589 + if-eqz v0, :cond_5c
33591 + if-eqz v6, :cond_5c
33593 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
33595 + move-result v0
33597 + if-eqz v0, :cond_5c
33599 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33601 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33603 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33605 + move-result-object v1
33607 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
33609 + move-result v3
33611 + const-string/jumbo v4, "networkInfoCurrent"
33613 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33615 + const-string v0, "PrivacyPhoneProxy"
33617 + new-instance v1, Ljava/lang/StringBuilder;
33619 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33621 + const-string/jumbo v2, "package: "
33623 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33625 + move-result-object v1
33627 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33629 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33631 + move-result-object v2
33633 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33635 + move-result-object v1
33637 + const-string v2, " BLOCKED for getDataConnection()"
33639 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33641 + move-result-object v1
33643 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33645 + move-result-object v1
33647 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33649 + sget-object v0, Lcom/android/internal/telephony/Phone$DataState;->CONNECTING:Lcom/android/internal/telephony/Phone$DataState;
33651 + :goto_5b
33652 + return-object v0
33654 + :cond_5c
33655 + if-eqz v6, :cond_6d
33657 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33659 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33661 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33663 + move-result-object v1
33665 + const-string/jumbo v4, "networkInfoCurrent"
33667 + move v3, v2
33669 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33671 + :cond_6d
33672 + const-string v0, "PrivacyPhoneProxy"
33674 + new-instance v1, Ljava/lang/StringBuilder;
33676 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33678 + const-string/jumbo v2, "package: "
33680 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33682 + move-result-object v1
33684 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33686 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33688 + move-result-object v2
33690 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33692 + move-result-object v1
33694 + const-string v2, " ALLOWED for getDataConnection()"
33696 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33698 + move-result-object v1
33700 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33702 + move-result-object v1
33704 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33706 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getDataConnectionState()Lcom/android/internal/telephony/Phone$DataState;
33708 + move-result-object v0
33710 + goto :goto_5b
33712 + :cond_97
33713 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
33715 + move-result-object v9
33717 + const/4 v7, 0x1
33719 + const/4 v6, 0x0
33721 + const/4 v10, 0x0
33723 + if-nez v9, :cond_a5
33725 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getDataConnectionState()Lcom/android/internal/telephony/Phone$DataState;
33727 + move-result-object v0
33729 + goto :goto_5b
33731 + :cond_a5
33732 + const/4 v8, 0x0
33734 + :goto_a6
33735 + array-length v0, v9
33737 + if-ge v8, v0, :cond_c3
33739 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33741 + aget-object v1, v9, v8
33743 + invoke-static {}, Landroid/os/Process;->myUid()I
33745 + move-result v3
33747 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33749 + move-result-object v6
33751 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33753 + if-eqz v0, :cond_f9
33755 + if-eqz v6, :cond_f9
33757 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
33759 + move-result v0
33761 + if-eqz v0, :cond_f9
33763 + const/4 v7, 0x0
33765 + move v10, v8
33767 + :cond_c3
33768 + if-eqz v7, :cond_fc
33770 + if-eqz v6, :cond_d2
33772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33774 + aget-object v1, v9, v10
33776 + const-string/jumbo v4, "networkInfoCurrent"
33778 + move v3, v2
33780 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33782 + :cond_d2
33783 + const-string v0, "PrivacyPhoneProxy"
33785 + new-instance v1, Ljava/lang/StringBuilder;
33787 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33789 + const-string/jumbo v2, "package: "
33791 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33793 + move-result-object v1
33795 + aget-object v2, v9, v10
33797 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33799 + move-result-object v1
33801 + const-string v2, " ALLOWED for getDataConnection()"
33803 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33805 + move-result-object v1
33807 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33809 + move-result-object v1
33811 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33813 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getDataConnectionState()Lcom/android/internal/telephony/Phone$DataState;
33815 + move-result-object v0
33817 + goto/16 :goto_5b
33819 + :cond_f9
33820 + add-int/lit8 v8, v8, 0x1
33822 + goto :goto_a6
33824 + :cond_fc
33825 + if-eqz v6, :cond_10c
33827 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33829 + aget-object v1, v9, v10
33831 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
33833 + move-result v3
33835 + const-string/jumbo v4, "networkInfoCurrent"
33837 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33839 + :cond_10c
33840 + const-string v0, "PrivacyPhoneProxy"
33842 + new-instance v1, Ljava/lang/StringBuilder;
33844 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
33846 + const-string/jumbo v2, "package: "
33848 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33850 + move-result-object v1
33852 + aget-object v2, v9, v10
33854 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33856 + move-result-object v1
33858 + const-string v2, " BLOCKED for getDataConnection()"
33860 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33862 + move-result-object v1
33864 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33866 + move-result-object v1
33868 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33870 + sget-object v0, Lcom/android/internal/telephony/Phone$DataState;->CONNECTING:Lcom/android/internal/telephony/Phone$DataState;
33872 + goto/16 :goto_5b
33873 +.end method
33875 +.method public getDeviceId()Ljava/lang/String;
33876 + .registers 20
33878 + move-object/from16 v0, p0
33880 + iget-boolean v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
33882 + if-eqz v1, :cond_93
33884 + move-object/from16 v0, p0
33886 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33888 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33890 + move-result-object v2
33892 + invoke-static {}, Landroid/os/Process;->myUid()I
33894 + move-result v3
33896 + move-object/from16 v0, p0
33898 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33900 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
33902 + move-result-object v7
33904 + if-eqz v7, :cond_5d
33906 + if-eqz v7, :cond_5d
33908 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
33910 + move-result v1
33912 + if-eqz v1, :cond_5d
33914 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
33916 + move-result-object v6
33918 + move-object/from16 v0, p0
33920 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33922 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
33924 + move-result v4
33926 + const-string v5, "deviceID"
33928 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33930 + const-string v1, "PrivacyPhoneProxy"
33932 + new-instance v4, Ljava/lang/StringBuilder;
33934 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
33936 + const-string/jumbo v5, "package: "
33938 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33940 + move-result-object v4
33942 + move-object/from16 v0, p0
33944 + iget-object v5, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
33946 + invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
33948 + move-result-object v5
33950 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33952 + move-result-object v4
33954 + const-string v5, " BLOCKED for getDeviceId()"
33956 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33958 + move-result-object v4
33960 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
33962 + move-result-object v4
33964 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
33966 + :goto_5c
33967 + return-object v6
33969 + :cond_5d
33970 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getDeviceId()Ljava/lang/String;
33972 + move-result-object v6
33974 + move-object/from16 v0, p0
33976 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
33978 + const/4 v4, 0x0
33980 + const-string v5, "deviceID"
33982 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
33984 + const-string v1, "PrivacyPhoneProxy"
33986 + new-instance v4, Ljava/lang/StringBuilder;
33988 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
33990 + const-string/jumbo v5, "package: "
33992 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
33994 + move-result-object v4
33996 + move-object/from16 v0, p0
33998 + iget-object v5, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34000 + invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34002 + move-result-object v5
34004 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34006 + move-result-object v4
34008 + const-string v5, " ALLOWED for getDeviceId()"
34010 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34012 + move-result-object v4
34014 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34016 + move-result-object v4
34018 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34020 + goto :goto_5c
34022 + :cond_93
34023 + invoke-direct/range {p0 .. p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
34025 + move-result-object v17
34027 + const/4 v15, 0x1
34029 + const/4 v14, 0x0
34031 + const/16 v18, 0x0
34033 + if-nez v17, :cond_a2
34035 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getDeviceId()Ljava/lang/String;
34037 + move-result-object v6
34039 + goto :goto_5c
34041 + :cond_a2
34042 + const/16 v16, 0x0
34044 + :goto_a4
34045 + move-object/from16 v0, v17
34047 + array-length v1, v0
34049 + move/from16 v0, v16
34051 + if-ge v0, v1, :cond_ca
34053 + move-object/from16 v0, p0
34055 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34057 + aget-object v4, v17, v16
34059 + invoke-static {}, Landroid/os/Process;->myUid()I
34061 + move-result v5
34063 + invoke-virtual {v1, v4, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34065 + move-result-object v14
34067 + move-object/from16 v0, p0
34069 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34071 + if-eqz v1, :cond_106
34073 + if-eqz v14, :cond_106
34075 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
34077 + move-result v1
34079 + if-eqz v1, :cond_106
34081 + const/4 v15, 0x0
34083 + move/from16 v18, v16
34085 + :cond_ca
34086 + if-eqz v15, :cond_109
34088 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getDeviceId()Ljava/lang/String;
34090 + move-result-object v6
34092 + if-eqz v14, :cond_e3
34094 + move-object/from16 v0, p0
34096 + iget-object v8, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34098 + aget-object v9, v17, v18
34100 + invoke-static {}, Landroid/os/Process;->myUid()I
34102 + move-result v10
34104 + const/4 v11, 0x0
34106 + const-string v12, "deviceID"
34108 + move-object v13, v6
34110 + invoke-virtual/range {v8 .. v14}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34112 + :cond_e3
34113 + const-string v1, "PrivacyPhoneProxy"
34115 + new-instance v4, Ljava/lang/StringBuilder;
34117 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
34119 + const-string/jumbo v5, "package: "
34121 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34123 + move-result-object v4
34125 + aget-object v5, v17, v18
34127 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34129 + move-result-object v4
34131 + const-string v5, " ALLOWED for getDeviceId()"
34133 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34135 + move-result-object v4
34137 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34139 + move-result-object v4
34141 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34143 + goto/16 :goto_5c
34145 + :cond_106
34146 + add-int/lit8 v16, v16, 0x1
34148 + goto :goto_a4
34150 + :cond_109
34151 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
34153 + move-result-object v6
34155 + if-eqz v14, :cond_123
34157 + move-object/from16 v0, p0
34159 + iget-object v8, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34161 + aget-object v9, v17, v18
34163 + invoke-static {}, Landroid/os/Process;->myUid()I
34165 + move-result v10
34167 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
34169 + move-result v11
34171 + const-string v12, "deviceID"
34173 + move-object v13, v6
34175 + invoke-virtual/range {v8 .. v14}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34177 + :cond_123
34178 + const-string v1, "PrivacyPhoneProxy"
34180 + new-instance v4, Ljava/lang/StringBuilder;
34182 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
34184 + const-string/jumbo v5, "package: "
34186 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34188 + move-result-object v4
34190 + aget-object v5, v17, v18
34192 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34194 + move-result-object v4
34196 + const-string v5, " BLOCKED for getDeviceId()"
34198 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34200 + move-result-object v4
34202 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34204 + move-result-object v4
34206 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34208 + goto/16 :goto_5c
34209 +.end method
34211 +.method public getDeviceSvn()Ljava/lang/String;
34212 + .registers 2
34214 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getDeviceId()Ljava/lang/String;
34216 + move-result-object v0
34218 + return-object v0
34219 +.end method
34221 +.method public getEsn()Ljava/lang/String;
34222 + .registers 2
34224 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getSubscriberId()Ljava/lang/String;
34226 + move-result-object v0
34228 + return-object v0
34229 +.end method
34231 +.method public getIccSerialNumber()Ljava/lang/String;
34232 + .registers 2
34234 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getSubscriberId()Ljava/lang/String;
34236 + move-result-object v0
34238 + return-object v0
34239 +.end method
34241 +.method public getImei()Ljava/lang/String;
34242 + .registers 2
34244 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getDeviceId()Ljava/lang/String;
34246 + move-result-object v0
34248 + return-object v0
34249 +.end method
34251 +.method public getLine1AlphaTag()Ljava/lang/String;
34252 + .registers 2
34254 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getLine1Number()Ljava/lang/String;
34256 + move-result-object v0
34258 + return-object v0
34259 +.end method
34261 +.method public getLine1Number()Ljava/lang/String;
34262 + .registers 20
34264 + move-object/from16 v0, p0
34266 + iget-boolean v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
34268 + if-eqz v1, :cond_93
34270 + move-object/from16 v0, p0
34272 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34274 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34276 + move-result-object v2
34278 + invoke-static {}, Landroid/os/Process;->myUid()I
34280 + move-result v3
34282 + move-object/from16 v0, p0
34284 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34286 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34288 + move-result-object v7
34290 + if-eqz v7, :cond_5d
34292 + if-eqz v7, :cond_5d
34294 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
34296 + move-result v1
34298 + if-eqz v1, :cond_5d
34300 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
34302 + move-result-object v6
34304 + move-object/from16 v0, p0
34306 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34308 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
34310 + move-result v4
34312 + const-string v5, "line1Number"
34314 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34316 + const-string v1, "PrivacyPhoneProxy"
34318 + new-instance v4, Ljava/lang/StringBuilder;
34320 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
34322 + const-string/jumbo v5, "package: "
34324 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34326 + move-result-object v4
34328 + move-object/from16 v0, p0
34330 + iget-object v5, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34332 + invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34334 + move-result-object v5
34336 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34338 + move-result-object v4
34340 + const-string v5, " BLOCKED for getLine1Number()"
34342 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34344 + move-result-object v4
34346 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34348 + move-result-object v4
34350 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34352 + :goto_5c
34353 + return-object v6
34355 + :cond_5d
34356 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getLine1Number()Ljava/lang/String;
34358 + move-result-object v6
34360 + move-object/from16 v0, p0
34362 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34364 + const/4 v4, 0x0
34366 + const-string v5, "line1Number"
34368 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34370 + const-string v1, "PrivacyPhoneProxy"
34372 + new-instance v4, Ljava/lang/StringBuilder;
34374 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
34376 + const-string/jumbo v5, "package: "
34378 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34380 + move-result-object v4
34382 + move-object/from16 v0, p0
34384 + iget-object v5, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34386 + invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34388 + move-result-object v5
34390 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34392 + move-result-object v4
34394 + const-string v5, " ALLOWED for getLine1Number()"
34396 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34398 + move-result-object v4
34400 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34402 + move-result-object v4
34404 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34406 + goto :goto_5c
34408 + :cond_93
34409 + invoke-direct/range {p0 .. p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
34411 + move-result-object v17
34413 + const/4 v15, 0x1
34415 + const/4 v14, 0x0
34417 + const/16 v18, 0x0
34419 + if-nez v17, :cond_a2
34421 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getLine1Number()Ljava/lang/String;
34423 + move-result-object v6
34425 + goto :goto_5c
34427 + :cond_a2
34428 + const/16 v16, 0x0
34430 + :goto_a4
34431 + move-object/from16 v0, v17
34433 + array-length v1, v0
34435 + move/from16 v0, v16
34437 + if-ge v0, v1, :cond_ca
34439 + move-object/from16 v0, p0
34441 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34443 + aget-object v4, v17, v16
34445 + invoke-static {}, Landroid/os/Process;->myUid()I
34447 + move-result v5
34449 + invoke-virtual {v1, v4, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34451 + move-result-object v14
34453 + move-object/from16 v0, p0
34455 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34457 + if-eqz v1, :cond_106
34459 + if-eqz v14, :cond_106
34461 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
34463 + move-result v1
34465 + if-eqz v1, :cond_106
34467 + const/4 v15, 0x0
34469 + move/from16 v18, v16
34471 + :cond_ca
34472 + if-eqz v15, :cond_109
34474 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getLine1Number()Ljava/lang/String;
34476 + move-result-object v6
34478 + if-eqz v14, :cond_e3
34480 + move-object/from16 v0, p0
34482 + iget-object v8, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34484 + aget-object v9, v17, v18
34486 + invoke-static {}, Landroid/os/Process;->myUid()I
34488 + move-result v10
34490 + const/4 v11, 0x0
34492 + const-string v12, "line1Number"
34494 + move-object v13, v6
34496 + invoke-virtual/range {v8 .. v14}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34498 + :cond_e3
34499 + const-string v1, "PrivacyPhoneProxy"
34501 + new-instance v4, Ljava/lang/StringBuilder;
34503 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
34505 + const-string/jumbo v5, "package: "
34507 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34509 + move-result-object v4
34511 + aget-object v5, v17, v18
34513 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34515 + move-result-object v4
34517 + const-string v5, " ALLOWED for getLine1Number()"
34519 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34521 + move-result-object v4
34523 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34525 + move-result-object v4
34527 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34529 + goto/16 :goto_5c
34531 + :cond_106
34532 + add-int/lit8 v16, v16, 0x1
34534 + goto :goto_a4
34536 + :cond_109
34537 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
34539 + move-result-object v6
34541 + if-eqz v14, :cond_123
34543 + move-object/from16 v0, p0
34545 + iget-object v8, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34547 + aget-object v9, v17, v18
34549 + invoke-static {}, Landroid/os/Process;->myUid()I
34551 + move-result v10
34553 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
34555 + move-result v11
34557 + const-string v12, "line1Number"
34559 + move-object v13, v6
34561 + invoke-virtual/range {v8 .. v14}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34563 + :cond_123
34564 + const-string v1, "PrivacyPhoneProxy"
34566 + new-instance v4, Ljava/lang/StringBuilder;
34568 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
34570 + const-string/jumbo v5, "package: "
34572 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34574 + move-result-object v4
34576 + aget-object v5, v17, v18
34578 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34580 + move-result-object v4
34582 + const-string v5, " BLOCKED for getLine1Number()"
34584 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34586 + move-result-object v4
34588 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34590 + move-result-object v4
34592 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34594 + goto/16 :goto_5c
34595 +.end method
34597 +.method public getMeid()Ljava/lang/String;
34598 + .registers 2
34600 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getSubscriberId()Ljava/lang/String;
34602 + move-result-object v0
34604 + return-object v0
34605 +.end method
34607 +.method public getMsisdn()Ljava/lang/String;
34608 + .registers 2
34610 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getSubscriberId()Ljava/lang/String;
34612 + move-result-object v0
34614 + return-object v0
34615 +.end method
34617 +.method public getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
34618 + .registers 2
34620 + new-instance v0, Lcom/android/internal/telephony/PhoneSubInfo;
34622 + invoke-direct {v0, p0}, Lcom/android/internal/telephony/PhoneSubInfo;-><init>(Lcom/android/internal/telephony/Phone;)V
34624 + return-object v0
34625 +.end method
34627 +.method public getServiceState()Landroid/telephony/ServiceState;
34628 + .registers 13
34630 + const/4 v5, 0x0
34632 + const/4 v2, 0x0
34634 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
34636 + if-eqz v0, :cond_a2
34638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34640 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34642 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34644 + move-result-object v1
34646 + invoke-static {}, Landroid/os/Process;->myUid()I
34648 + move-result v3
34650 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34652 + move-result-object v6
34654 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34656 + if-eqz v0, :cond_67
34658 + if-eqz v6, :cond_67
34660 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
34662 + move-result v0
34664 + if-eqz v0, :cond_67
34666 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34668 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34670 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34672 + move-result-object v1
34674 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
34676 + move-result v3
34678 + const-string/jumbo v4, "networkInfoCurrent"
34680 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34682 + const-string v0, "PrivacyPhoneProxy"
34684 + new-instance v1, Ljava/lang/StringBuilder;
34686 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34688 + const-string/jumbo v2, "package: "
34690 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34692 + move-result-object v1
34694 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34696 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34698 + move-result-object v2
34700 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34702 + move-result-object v1
34704 + const-string v2, " BLOCKED for getServiceState()"
34706 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34708 + move-result-object v1
34710 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34712 + move-result-object v1
34714 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34716 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getServiceState()Landroid/telephony/ServiceState;
34718 + move-result-object v9
34720 + const-string v0, ""
34722 + const-string v1, ""
34724 + const-string v2, ""
34726 + invoke-virtual {v9, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
34728 + :goto_66
34729 + return-object v9
34731 + :cond_67
34732 + if-eqz v6, :cond_78
34734 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34736 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34738 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34740 + move-result-object v1
34742 + const-string/jumbo v4, "networkInfoCurrent"
34744 + move v3, v2
34746 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34748 + :cond_78
34749 + const-string v0, "PrivacyPhoneProxy"
34751 + new-instance v1, Ljava/lang/StringBuilder;
34753 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34755 + const-string/jumbo v2, "package: "
34757 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34759 + move-result-object v1
34761 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34763 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34765 + move-result-object v2
34767 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34769 + move-result-object v1
34771 + const-string v2, " ALLOWED for getServiceState()"
34773 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34775 + move-result-object v1
34777 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34779 + move-result-object v1
34781 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34783 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getServiceState()Landroid/telephony/ServiceState;
34785 + move-result-object v9
34787 + goto :goto_66
34789 + :cond_a2
34790 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
34792 + move-result-object v10
34794 + const/4 v7, 0x1
34796 + const/4 v6, 0x0
34798 + const/4 v11, 0x0
34800 + if-nez v10, :cond_b0
34802 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getServiceState()Landroid/telephony/ServiceState;
34804 + move-result-object v9
34806 + goto :goto_66
34808 + :cond_b0
34809 + const/4 v8, 0x0
34811 + :goto_b1
34812 + array-length v0, v10
34814 + if-ge v8, v0, :cond_ce
34816 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34818 + aget-object v1, v10, v8
34820 + invoke-static {}, Landroid/os/Process;->myUid()I
34822 + move-result v3
34824 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34826 + move-result-object v6
34828 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34830 + if-eqz v0, :cond_104
34832 + if-eqz v6, :cond_104
34834 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
34836 + move-result v0
34838 + if-eqz v0, :cond_104
34840 + const/4 v7, 0x0
34842 + move v11, v8
34844 + :cond_ce
34845 + if-eqz v7, :cond_107
34847 + if-eqz v6, :cond_dd
34849 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34851 + aget-object v1, v10, v11
34853 + const-string/jumbo v4, "networkInfoCurrent"
34855 + move v3, v2
34857 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34859 + :cond_dd
34860 + const-string v0, "PrivacyPhoneProxy"
34862 + new-instance v1, Ljava/lang/StringBuilder;
34864 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34866 + const-string/jumbo v2, "package: "
34868 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34870 + move-result-object v1
34872 + aget-object v2, v10, v11
34874 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34876 + move-result-object v1
34878 + const-string v2, " ALLOWED for getServiceState()"
34880 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34882 + move-result-object v1
34884 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34886 + move-result-object v1
34888 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34890 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getServiceState()Landroid/telephony/ServiceState;
34892 + move-result-object v9
34894 + goto/16 :goto_66
34896 + :cond_104
34897 + add-int/lit8 v8, v8, 0x1
34899 + goto :goto_b1
34901 + :cond_107
34902 + if-eqz v6, :cond_117
34904 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34906 + aget-object v1, v10, v11
34908 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
34910 + move-result v3
34912 + const-string/jumbo v4, "networkInfoCurrent"
34914 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
34916 + :cond_117
34917 + const-string v0, "PrivacyPhoneProxy"
34919 + new-instance v1, Ljava/lang/StringBuilder;
34921 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
34923 + const-string/jumbo v2, "package: "
34925 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34927 + move-result-object v1
34929 + aget-object v2, v10, v11
34931 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34933 + move-result-object v1
34935 + const-string v2, " BLOCKED for getServiceState()"
34937 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
34939 + move-result-object v1
34941 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
34943 + move-result-object v1
34945 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
34947 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getServiceState()Landroid/telephony/ServiceState;
34949 + move-result-object v9
34951 + const-string v0, ""
34953 + const-string v1, ""
34955 + const-string v2, ""
34957 + invoke-virtual {v9, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
34959 + goto/16 :goto_66
34960 +.end method
34962 +.method public getSignalStrength()Landroid/telephony/SignalStrength;
34963 + .registers 13
34965 + const/4 v5, 0x0
34967 + const/4 v2, 0x0
34969 + new-instance v9, Landroid/telephony/SignalStrength;
34971 + invoke-direct {v9}, Landroid/telephony/SignalStrength;-><init>()V
34973 + iget-boolean v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
34975 + if-eqz v0, :cond_9a
34977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34979 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
34981 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
34983 + move-result-object v1
34985 + invoke-static {}, Landroid/os/Process;->myUid()I
34987 + move-result v3
34989 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
34991 + move-result-object v6
34993 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
34995 + if-eqz v0, :cond_5f
34997 + if-eqz v6, :cond_5f
34999 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
35001 + move-result v0
35003 + if-eqz v0, :cond_5f
35005 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35007 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35009 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35011 + move-result-object v1
35013 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
35015 + move-result v3
35017 + const-string/jumbo v4, "networkInfoCurrent"
35019 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35021 + const-string v0, "PrivacyPhoneProxy"
35023 + new-instance v1, Ljava/lang/StringBuilder;
35025 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
35027 + const-string/jumbo v2, "package: "
35029 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35031 + move-result-object v1
35033 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35035 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35037 + move-result-object v2
35039 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35041 + move-result-object v1
35043 + const-string v2, " BLOCKED for getSignalStrength()"
35045 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35047 + move-result-object v1
35049 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35051 + move-result-object v1
35053 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35055 + :goto_5e
35056 + return-object v9
35058 + :cond_5f
35059 + if-eqz v6, :cond_70
35061 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35063 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35065 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35067 + move-result-object v1
35069 + const-string/jumbo v4, "networkInfoCurrent"
35071 + move v3, v2
35073 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35075 + :cond_70
35076 + const-string v0, "PrivacyPhoneProxy"
35078 + new-instance v1, Ljava/lang/StringBuilder;
35080 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
35082 + const-string/jumbo v2, "package: "
35084 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35086 + move-result-object v1
35088 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35090 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35092 + move-result-object v2
35094 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35096 + move-result-object v1
35098 + const-string v2, " ALLOWED for getSignalStrength()"
35100 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35102 + move-result-object v1
35104 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35106 + move-result-object v1
35108 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35110 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getSignalStrength()Landroid/telephony/SignalStrength;
35112 + move-result-object v9
35114 + goto :goto_5e
35116 + :cond_9a
35117 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
35119 + move-result-object v10
35121 + const/4 v7, 0x1
35123 + const/4 v6, 0x0
35125 + const/4 v11, 0x0
35127 + if-nez v10, :cond_a8
35129 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getSignalStrength()Landroid/telephony/SignalStrength;
35131 + move-result-object v9
35133 + goto :goto_5e
35135 + :cond_a8
35136 + const/4 v8, 0x0
35138 + :goto_a9
35139 + array-length v0, v10
35141 + if-ge v8, v0, :cond_c6
35143 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35145 + aget-object v1, v10, v8
35147 + invoke-static {}, Landroid/os/Process;->myUid()I
35149 + move-result v3
35151 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
35153 + move-result-object v6
35155 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35157 + if-eqz v0, :cond_fc
35159 + if-eqz v6, :cond_fc
35161 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
35163 + move-result v0
35165 + if-eqz v0, :cond_fc
35167 + const/4 v7, 0x0
35169 + move v11, v8
35171 + :cond_c6
35172 + if-eqz v7, :cond_ff
35174 + if-eqz v6, :cond_d5
35176 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35178 + aget-object v1, v10, v11
35180 + const-string/jumbo v4, "networkInfoCurrent"
35182 + move v3, v2
35184 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35186 + :cond_d5
35187 + const-string v0, "PrivacyPhoneProxy"
35189 + new-instance v1, Ljava/lang/StringBuilder;
35191 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
35193 + const-string/jumbo v2, "package: "
35195 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35197 + move-result-object v1
35199 + aget-object v2, v10, v11
35201 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35203 + move-result-object v1
35205 + const-string v2, " ALLOWED for getSignalStrength()"
35207 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35209 + move-result-object v1
35211 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35213 + move-result-object v1
35215 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35217 + invoke-super {p0}, Lcom/android/internal/telephony/PhoneProxy;->getSignalStrength()Landroid/telephony/SignalStrength;
35219 + move-result-object v9
35221 + goto/16 :goto_5e
35223 + :cond_fc
35224 + add-int/lit8 v8, v8, 0x1
35226 + goto :goto_a9
35228 + :cond_ff
35229 + if-eqz v6, :cond_10f
35231 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35233 + aget-object v1, v10, v11
35235 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
35237 + move-result v3
35239 + const-string/jumbo v4, "networkInfoCurrent"
35241 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35243 + :cond_10f
35244 + const-string v0, "PrivacyPhoneProxy"
35246 + new-instance v1, Ljava/lang/StringBuilder;
35248 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
35250 + const-string/jumbo v2, "package: "
35252 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35254 + move-result-object v1
35256 + aget-object v2, v10, v11
35258 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35260 + move-result-object v1
35262 + const-string v2, " BLOCKED for getSignalStrength()"
35264 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35266 + move-result-object v1
35268 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35270 + move-result-object v1
35272 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35274 + goto/16 :goto_5e
35275 +.end method
35277 +.method public getSubscriberId()Ljava/lang/String;
35278 + .registers 20
35280 + move-object/from16 v0, p0
35282 + iget-boolean v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context_available:Z
35284 + if-eqz v1, :cond_95
35286 + move-object/from16 v0, p0
35288 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35290 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35292 + move-result-object v2
35294 + invoke-static {}, Landroid/os/Process;->myUid()I
35296 + move-result v3
35298 + move-object/from16 v0, p0
35300 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35302 + invoke-virtual {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
35304 + move-result-object v7
35306 + if-eqz v7, :cond_5e
35308 + if-eqz v7, :cond_5e
35310 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
35312 + move-result v1
35314 + if-eqz v1, :cond_5e
35316 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
35318 + move-result-object v6
35320 + move-object/from16 v0, p0
35322 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35324 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
35326 + move-result v4
35328 + const-string/jumbo v5, "subscriberID"
35330 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35332 + const-string v1, "PrivacyPhoneProxy"
35334 + new-instance v4, Ljava/lang/StringBuilder;
35336 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
35338 + const-string/jumbo v5, "package: "
35340 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35342 + move-result-object v4
35344 + move-object/from16 v0, p0
35346 + iget-object v5, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35348 + invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35350 + move-result-object v5
35352 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35354 + move-result-object v4
35356 + const-string v5, " BLOCKED for getSubscriberId()"
35358 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35360 + move-result-object v4
35362 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35364 + move-result-object v4
35366 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35368 + :goto_5d
35369 + return-object v6
35371 + :cond_5e
35372 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getSubscriberId()Ljava/lang/String;
35374 + move-result-object v6
35376 + move-object/from16 v0, p0
35378 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35380 + const/4 v4, 0x0
35382 + const-string/jumbo v5, "subscriberID"
35384 + invoke-virtual/range {v1 .. v7}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35386 + const-string v1, "PrivacyPhoneProxy"
35388 + new-instance v4, Ljava/lang/StringBuilder;
35390 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
35392 + const-string/jumbo v5, "package: "
35394 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35396 + move-result-object v4
35398 + move-object/from16 v0, p0
35400 + iget-object v5, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->context:Landroid/content/Context;
35402 + invoke-virtual {v5}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35404 + move-result-object v5
35406 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35408 + move-result-object v4
35410 + const-string v5, " ALLOWED for getSubscriberId()"
35412 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35414 + move-result-object v4
35416 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35418 + move-result-object v4
35420 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35422 + goto :goto_5d
35424 + :cond_95
35425 + invoke-direct/range {p0 .. p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getPackageName()[Ljava/lang/String;
35427 + move-result-object v17
35429 + const/4 v15, 0x1
35431 + const/4 v14, 0x0
35433 + const/16 v18, 0x0
35435 + if-nez v17, :cond_a4
35437 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getSubscriberId()Ljava/lang/String;
35439 + move-result-object v6
35441 + goto :goto_5d
35443 + :cond_a4
35444 + const/16 v16, 0x0
35446 + :goto_a6
35447 + move-object/from16 v0, v17
35449 + array-length v1, v0
35451 + move/from16 v0, v16
35453 + if-ge v0, v1, :cond_cc
35455 + move-object/from16 v0, p0
35457 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35459 + aget-object v4, v17, v16
35461 + invoke-static {}, Landroid/os/Process;->myUid()I
35463 + move-result v5
35465 + invoke-virtual {v1, v4, v5}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
35467 + move-result-object v14
35469 + move-object/from16 v0, p0
35471 + iget-object v1, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35473 + if-eqz v1, :cond_109
35475 + if-eqz v14, :cond_109
35477 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
35479 + move-result v1
35481 + if-eqz v1, :cond_109
35483 + const/4 v15, 0x0
35485 + move/from16 v18, v16
35487 + :cond_cc
35488 + if-eqz v15, :cond_10c
35490 + invoke-super/range {p0 .. p0}, Lcom/android/internal/telephony/PhoneProxy;->getSubscriberId()Ljava/lang/String;
35492 + move-result-object v6
35494 + if-eqz v14, :cond_e6
35496 + move-object/from16 v0, p0
35498 + iget-object v8, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35500 + aget-object v9, v17, v18
35502 + invoke-static {}, Landroid/os/Process;->myUid()I
35504 + move-result v10
35506 + const/4 v11, 0x0
35508 + const-string/jumbo v12, "subscriberID"
35510 + move-object v13, v6
35512 + invoke-virtual/range {v8 .. v14}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35514 + :cond_e6
35515 + const-string v1, "PrivacyPhoneProxy"
35517 + new-instance v4, Ljava/lang/StringBuilder;
35519 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
35521 + const-string/jumbo v5, "package: "
35523 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35525 + move-result-object v4
35527 + aget-object v5, v17, v18
35529 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35531 + move-result-object v4
35533 + const-string v5, " ALLOWED for getSubscriberId()"
35535 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35537 + move-result-object v4
35539 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35541 + move-result-object v4
35543 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35545 + goto/16 :goto_5d
35547 + :cond_109
35548 + add-int/lit8 v16, v16, 0x1
35550 + goto :goto_a6
35552 + :cond_10c
35553 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
35555 + move-result-object v6
35557 + if-eqz v14, :cond_127
35559 + move-object/from16 v0, p0
35561 + iget-object v8, v0, Landroid/privacy/surrogate/PrivacyPhoneProxy;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35563 + aget-object v9, v17, v18
35565 + invoke-static {}, Landroid/os/Process;->myUid()I
35567 + move-result v10
35569 + invoke-virtual {v14}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
35571 + move-result v11
35573 + const-string/jumbo v12, "subscriberID"
35575 + move-object v13, v6
35577 + invoke-virtual/range {v8 .. v14}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35579 + :cond_127
35580 + const-string v1, "PrivacyPhoneProxy"
35582 + new-instance v4, Ljava/lang/StringBuilder;
35584 + invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
35586 + const-string/jumbo v5, "package: "
35588 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35590 + move-result-object v4
35592 + aget-object v5, v17, v18
35594 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35596 + move-result-object v4
35598 + const-string v5, " BLOCKED for getSubscriberId()"
35600 + invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35602 + move-result-object v4
35604 + invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35606 + move-result-object v4
35608 + invoke-static {v1, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35610 + goto/16 :goto_5d
35611 +.end method
35613 +.method public getVoiceMailNumber()Ljava/lang/String;
35614 + .registers 2
35616 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyPhoneProxy;->getLine1Number()Ljava/lang/String;
35618 + move-result-object v0
35620 + return-object v0
35621 +.end method
35622 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacySipPhone.smali ext-framework/smali/android/privacy/surrogate/PrivacySipPhone.smali
35623 --- stock-framework/smali/android/privacy/surrogate/PrivacySipPhone.smali 1969-12-31 18:00:00.000000000 -0600
35624 +++ ext-framework/smali/android/privacy/surrogate/PrivacySipPhone.smali 2012-11-08 09:11:56.690842439 -0600
35625 @@ -0,0 +1,1602 @@
35626 +.class public Landroid/privacy/surrogate/PrivacySipPhone;
35627 +.super Lcom/android/internal/telephony/sip/SipPhone;
35628 +.source "PrivacySipPhone.java"
35631 +# static fields
35632 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyGSMPhone"
35635 +# instance fields
35636 +.field private context:Landroid/content/Context;
35638 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
35641 +# direct methods
35642 +.method public constructor <init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Landroid/net/sip/SipProfile;)V
35643 + .registers 7
35645 + invoke-direct {p0, p1, p2, p3}, Lcom/android/internal/telephony/sip/SipPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Landroid/net/sip/SipProfile;)V
35647 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35649 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
35651 + const-string/jumbo v1, "privacy"
35653 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
35655 + move-result-object v1
35657 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
35659 + move-result-object v1
35661 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
35663 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35665 + const-string v0, "PrivacyGSMPhone"
35667 + new-instance v1, Ljava/lang/StringBuilder;
35669 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
35671 + const-string v2, "Constructor ready for package: "
35673 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35675 + move-result-object v1
35677 + invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35679 + move-result-object v2
35681 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35683 + move-result-object v1
35685 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35687 + move-result-object v1
35689 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35691 + return-void
35692 +.end method
35695 +# virtual methods
35696 +.method public dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
35697 + .registers 10
35698 + .annotation system Ldalvik/annotation/Throws;
35699 + value = {
35700 + Lcom/android/internal/telephony/CallStateException;
35702 + .end annotation
35704 + const/4 v2, 0x0
35706 + const/4 v5, 0x0
35708 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35710 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35712 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35714 + move-result-object v1
35716 + const/4 v3, -0x1
35718 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
35720 + move-result-object v7
35722 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35724 + if-eqz v0, :cond_31
35726 + if-eqz v7, :cond_31
35728 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
35730 + move-result v0
35732 + if-eqz v0, :cond_31
35734 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35736 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35738 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35740 + move-result-object v1
35742 + const/4 v3, 0x1
35744 + const-string/jumbo v4, "phoneCall"
35746 + move-object v6, v5
35748 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35750 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
35752 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
35754 + throw v0
35756 + :cond_31
35757 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35759 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35761 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35763 + move-result-object v1
35765 + const-string/jumbo v4, "phoneCall"
35767 + move v3, v2
35769 + move-object v6, v5
35771 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35773 + invoke-super {p0, p1}, Lcom/android/internal/telephony/sip/SipPhone;->dial(Ljava/lang/String;)Lcom/android/internal/telephony/Connection;
35775 + move-result-object v0
35777 + return-object v0
35778 +.end method
35780 +.method public dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
35781 + .registers 11
35782 + .annotation system Ldalvik/annotation/Throws;
35783 + value = {
35784 + Lcom/android/internal/telephony/CallStateException;
35786 + .end annotation
35788 + const/4 v2, 0x0
35790 + const/4 v5, 0x0
35792 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35794 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35796 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35798 + move-result-object v1
35800 + const/4 v3, -0x1
35802 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
35804 + move-result-object v7
35806 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35808 + if-eqz v0, :cond_31
35810 + if-eqz v7, :cond_31
35812 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getPhoneCallSetting()B
35814 + move-result v0
35816 + if-eqz v0, :cond_31
35818 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35820 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35822 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35824 + move-result-object v1
35826 + const/4 v3, 0x1
35828 + const-string/jumbo v4, "phoneCall"
35830 + move-object v6, v5
35832 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35834 + new-instance v0, Lcom/android/internal/telephony/CallStateException;
35836 + invoke-direct {v0}, Lcom/android/internal/telephony/CallStateException;-><init>()V
35838 + throw v0
35840 + :cond_31
35841 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35843 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35845 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35847 + move-result-object v1
35849 + const-string/jumbo v4, "phoneCall"
35851 + move v3, v2
35853 + move-object v6, v5
35855 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35857 + invoke-super {p0, p1, p2}, Lcom/android/internal/telephony/sip/SipPhone;->dial(Ljava/lang/String;Lcom/android/internal/telephony/UUSInfo;)Lcom/android/internal/telephony/Connection;
35859 + move-result-object v0
35861 + return-object v0
35862 +.end method
35864 +.method public getCellLocation()Landroid/telephony/CellLocation;
35865 + .registers 8
35867 + const/4 v5, 0x0
35869 + const/4 v2, 0x0
35871 + const-string v0, "PrivacyGSMPhone"
35873 + new-instance v1, Ljava/lang/StringBuilder;
35875 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
35877 + const-string v3, "Package: "
35879 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35881 + move-result-object v1
35883 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35885 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35887 + move-result-object v3
35889 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35891 + move-result-object v1
35893 + const-string v3, " asked for getCellLocation()"
35895 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35897 + move-result-object v1
35899 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
35901 + move-result-object v1
35903 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
35905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35907 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35909 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35911 + move-result-object v1
35913 + invoke-static {}, Landroid/os/Process;->myUid()I
35915 + move-result v3
35917 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
35919 + move-result-object v6
35921 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35923 + if-eqz v0, :cond_5f
35925 + if-eqz v6, :cond_5f
35927 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
35929 + move-result v0
35931 + if-nez v0, :cond_48
35933 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
35935 + move-result v0
35937 + if-eqz v0, :cond_5f
35939 + :cond_48
35940 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35942 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35944 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35946 + move-result-object v1
35948 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
35950 + move-result v3
35952 + const-string v4, "locationNetwork"
35954 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35956 + new-instance v0, Landroid/telephony/gsm/GsmCellLocation;
35958 + invoke-direct {v0}, Landroid/telephony/gsm/GsmCellLocation;-><init>()V
35960 + :goto_5e
35961 + return-object v0
35963 + :cond_5f
35964 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
35966 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
35968 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
35970 + move-result-object v1
35972 + const-string v4, "locationNetwork"
35974 + move v3, v2
35976 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
35978 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getCellLocation()Landroid/telephony/CellLocation;
35980 + move-result-object v0
35982 + goto :goto_5e
35983 +.end method
35985 +.method public getDeviceId()Ljava/lang/String;
35986 + .registers 8
35988 + const-string v0, "PrivacyGSMPhone"
35990 + new-instance v3, Ljava/lang/StringBuilder;
35992 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
35994 + const-string v4, "Package: "
35996 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
35998 + move-result-object v3
36000 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36002 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36004 + move-result-object v4
36006 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36008 + move-result-object v3
36010 + const-string v4, " asked for getDeviceId()"
36012 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36014 + move-result-object v3
36016 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36018 + move-result-object v3
36020 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36022 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36024 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36026 + move-result-object v1
36028 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36030 + move-result v2
36032 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36034 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36036 + move-result-object v6
36038 + if-eqz v6, :cond_4c
36040 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36042 + move-result v0
36044 + if-eqz v0, :cond_4c
36046 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
36048 + move-result-object v5
36050 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36052 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36054 + move-result v3
36056 + const-string v4, "deviceID"
36058 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36060 + :goto_4b
36061 + return-object v5
36063 + :cond_4c
36064 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getDeviceId()Ljava/lang/String;
36066 + move-result-object v5
36068 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36070 + const/4 v3, 0x0
36072 + const-string v4, "deviceID"
36074 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36076 + goto :goto_4b
36077 +.end method
36079 +.method public getDeviceSvn()Ljava/lang/String;
36080 + .registers 8
36082 + const-string v0, "PrivacyGSMPhone"
36084 + new-instance v3, Ljava/lang/StringBuilder;
36086 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
36088 + const-string v4, "Package: "
36090 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36092 + move-result-object v3
36094 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36096 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36098 + move-result-object v4
36100 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36102 + move-result-object v3
36104 + const-string v4, " asked for getDeviceSvn()"
36106 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36108 + move-result-object v3
36110 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36112 + move-result-object v3
36114 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36116 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36118 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36120 + move-result-object v1
36122 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36124 + move-result v2
36126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36128 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36130 + move-result-object v6
36132 + if-eqz v6, :cond_4c
36134 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36136 + move-result v0
36138 + if-eqz v0, :cond_4c
36140 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
36142 + move-result-object v5
36144 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36146 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36148 + move-result v3
36150 + const-string v4, "deviceID"
36152 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36154 + :goto_4b
36155 + return-object v5
36157 + :cond_4c
36158 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getDeviceId()Ljava/lang/String;
36160 + move-result-object v5
36162 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36164 + const/4 v3, 0x0
36166 + const-string v4, "deviceID"
36168 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36170 + goto :goto_4b
36171 +.end method
36173 +.method public getEsn()Ljava/lang/String;
36174 + .registers 8
36176 + const-string v0, "PrivacyGSMPhone"
36178 + new-instance v3, Ljava/lang/StringBuilder;
36180 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
36182 + const-string v4, "Package: "
36184 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36186 + move-result-object v3
36188 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36190 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36192 + move-result-object v4
36194 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36196 + move-result-object v3
36198 + const-string v4, " asked for getEsn()"
36200 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36202 + move-result-object v3
36204 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36206 + move-result-object v3
36208 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36210 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36212 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36214 + move-result-object v1
36216 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36218 + move-result v2
36220 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36222 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36224 + move-result-object v6
36226 + if-eqz v6, :cond_4c
36228 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36230 + move-result v0
36232 + if-eqz v0, :cond_4c
36234 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
36236 + move-result-object v5
36238 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36240 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36242 + move-result v3
36244 + const-string v4, "deviceID"
36246 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36248 + :goto_4b
36249 + return-object v5
36251 + :cond_4c
36252 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getEsn()Ljava/lang/String;
36254 + move-result-object v5
36256 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36258 + const/4 v3, 0x0
36260 + const-string v4, "deviceID"
36262 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36264 + goto :goto_4b
36265 +.end method
36267 +.method public getImei()Ljava/lang/String;
36268 + .registers 8
36270 + const-string v0, "PrivacyGSMPhone"
36272 + new-instance v3, Ljava/lang/StringBuilder;
36274 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
36276 + const-string v4, "Package: "
36278 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36280 + move-result-object v3
36282 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36284 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36286 + move-result-object v4
36288 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36290 + move-result-object v3
36292 + const-string v4, " asked for getImei"
36294 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36296 + move-result-object v3
36298 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36300 + move-result-object v3
36302 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36304 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36306 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36308 + move-result-object v1
36310 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36312 + move-result v2
36314 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36316 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36318 + move-result-object v6
36320 + if-eqz v6, :cond_4c
36322 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36324 + move-result v0
36326 + if-eqz v0, :cond_4c
36328 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
36330 + move-result-object v5
36332 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36334 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36336 + move-result v3
36338 + const-string v4, "deviceID"
36340 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36342 + :goto_4b
36343 + return-object v5
36345 + :cond_4c
36346 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getImei()Ljava/lang/String;
36348 + move-result-object v5
36350 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36352 + const/4 v3, 0x0
36354 + const-string v4, "deviceID"
36356 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36358 + goto :goto_4b
36359 +.end method
36361 +.method public getLine1AlphaTag()Ljava/lang/String;
36362 + .registers 8
36364 + const/4 v2, 0x0
36366 + const-string v0, "PrivacyGSMPhone"
36368 + new-instance v1, Ljava/lang/StringBuilder;
36370 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
36372 + const-string v3, "Package: "
36374 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36376 + move-result-object v1
36378 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36380 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36382 + move-result-object v3
36384 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36386 + move-result-object v1
36388 + const-string v3, " asked for getLine1AlphaTag()"
36390 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36392 + move-result-object v1
36394 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36396 + move-result-object v1
36398 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36400 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36402 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36404 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36406 + move-result-object v1
36408 + invoke-static {}, Landroid/os/Process;->myUid()I
36410 + move-result v3
36412 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36414 + move-result-object v6
36416 + const-string v5, ""
36418 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36420 + if-eqz v0, :cond_59
36422 + if-eqz v6, :cond_59
36424 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
36426 + move-result v0
36428 + if-eqz v0, :cond_59
36430 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
36432 + move-result-object v5
36434 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36436 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36438 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36440 + move-result-object v1
36442 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
36444 + move-result v3
36446 + const-string v4, "line1Number"
36448 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36450 + :goto_58
36451 + return-object v5
36453 + :cond_59
36454 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36456 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36458 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36460 + move-result-object v1
36462 + const-string v4, "line1Number"
36464 + move v3, v2
36466 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36468 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getLine1AlphaTag()Ljava/lang/String;
36470 + move-result-object v5
36472 + goto :goto_58
36473 +.end method
36475 +.method public getLine1Number()Ljava/lang/String;
36476 + .registers 8
36478 + const/4 v2, 0x0
36480 + const-string v0, "PrivacyGSMPhone"
36482 + new-instance v1, Ljava/lang/StringBuilder;
36484 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
36486 + const-string v3, "Package: "
36488 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36490 + move-result-object v1
36492 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36494 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36496 + move-result-object v3
36498 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36500 + move-result-object v1
36502 + const-string v3, " asked for getLine1Number()"
36504 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36506 + move-result-object v1
36508 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36510 + move-result-object v1
36512 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36514 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36516 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36518 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36520 + move-result-object v1
36522 + invoke-static {}, Landroid/os/Process;->myUid()I
36524 + move-result v3
36526 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36528 + move-result-object v6
36530 + const-string v5, ""
36532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36534 + if-eqz v0, :cond_59
36536 + if-eqz v6, :cond_59
36538 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
36540 + move-result v0
36542 + if-eqz v0, :cond_59
36544 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
36546 + move-result-object v5
36548 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36550 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36552 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36554 + move-result-object v1
36556 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
36558 + move-result v3
36560 + const-string v4, "line1Number"
36562 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36564 + :goto_58
36565 + return-object v5
36567 + :cond_59
36568 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36570 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36572 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36574 + move-result-object v1
36576 + const-string v4, "line1Number"
36578 + move v3, v2
36580 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36582 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getLine1Number()Ljava/lang/String;
36584 + move-result-object v5
36586 + goto :goto_58
36587 +.end method
36589 +.method public getMeid()Ljava/lang/String;
36590 + .registers 8
36592 + const-string v0, "PrivacyGSMPhone"
36594 + new-instance v3, Ljava/lang/StringBuilder;
36596 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
36598 + const-string v4, "Package: "
36600 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36602 + move-result-object v3
36604 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36606 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36608 + move-result-object v4
36610 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36612 + move-result-object v3
36614 + const-string v4, " asked for getMeid()"
36616 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36618 + move-result-object v3
36620 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36622 + move-result-object v3
36624 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36626 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36628 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36630 + move-result-object v1
36632 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36634 + move-result v2
36636 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36638 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36640 + move-result-object v6
36642 + if-eqz v6, :cond_4c
36644 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36646 + move-result v0
36648 + if-eqz v0, :cond_4c
36650 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
36652 + move-result-object v5
36654 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36656 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
36658 + move-result v3
36660 + const-string v4, "deviceID"
36662 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36664 + :goto_4b
36665 + return-object v5
36667 + :cond_4c
36668 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getMeid()Ljava/lang/String;
36670 + move-result-object v5
36672 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36674 + const/4 v3, 0x0
36676 + const-string v4, "deviceID"
36678 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36680 + goto :goto_4b
36681 +.end method
36683 +.method public getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
36684 + .registers 8
36686 + const/4 v5, 0x0
36688 + const/4 v2, 0x0
36690 + const-string v0, "PrivacyGSMPhone"
36692 + new-instance v1, Ljava/lang/StringBuilder;
36694 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
36696 + const-string v3, "Package: "
36698 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36700 + move-result-object v1
36702 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36704 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36706 + move-result-object v3
36708 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36710 + move-result-object v1
36712 + const-string v3, " asked for getPhoneSubInfo()"
36714 + invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36716 + move-result-object v1
36718 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36720 + move-result-object v1
36722 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36724 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36726 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36728 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36730 + move-result-object v1
36732 + invoke-static {}, Landroid/os/Process;->myUid()I
36734 + move-result v3
36736 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36738 + move-result-object v6
36740 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36742 + if-eqz v0, :cond_54
36744 + if-eqz v6, :cond_54
36746 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
36748 + move-result v0
36750 + if-eqz v0, :cond_54
36752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36754 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36756 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36758 + move-result-object v1
36760 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
36762 + move-result v3
36764 + const-string v4, "locationNetwork"
36766 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36768 + :goto_53
36769 + return-object v5
36771 + :cond_54
36772 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36774 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36776 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36778 + move-result-object v1
36780 + const-string v4, "locationNetwork"
36782 + move v3, v2
36784 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36786 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getPhoneSubInfo()Lcom/android/internal/telephony/PhoneSubInfo;
36788 + move-result-object v5
36790 + goto :goto_53
36791 +.end method
36793 +.method public getServiceState()Landroid/telephony/ServiceState;
36794 + .registers 10
36796 + :try_start_0
36797 + const-string v0, "PrivacyGSMPhone"
36799 + new-instance v1, Ljava/lang/StringBuilder;
36801 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
36803 + const-string v2, "Package: "
36805 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36807 + move-result-object v1
36809 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36811 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36813 + move-result-object v2
36815 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36817 + move-result-object v1
36819 + const-string v2, " asked for getServiceState()"
36821 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36823 + move-result-object v1
36825 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36827 + move-result-object v1
36829 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36831 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36833 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36835 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36837 + move-result-object v1
36839 + invoke-static {}, Landroid/os/Process;->myUid()I
36841 + move-result v2
36843 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36845 + move-result-object v6
36847 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36849 + if-eqz v0, :cond_61
36851 + if-eqz v6, :cond_61
36853 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
36855 + move-result v0
36857 + if-eqz v0, :cond_61
36859 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36861 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36863 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36865 + move-result-object v1
36867 + const/4 v2, 0x0
36869 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
36871 + move-result v3
36873 + const-string v4, "locationNetwork"
36875 + const/4 v5, 0x0
36877 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36879 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getServiceState()Landroid/telephony/ServiceState;
36881 + move-result-object v8
36883 + const-string v0, ""
36885 + const-string v1, ""
36887 + const-string v2, ""
36889 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
36891 + :goto_60
36892 + return-object v8
36894 + :cond_61
36895 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36897 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36899 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36901 + move-result-object v1
36903 + const/4 v2, 0x0
36905 + const/4 v3, 0x0
36907 + const-string v4, "locationNetwork"
36909 + const/4 v5, 0x0
36911 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
36913 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getServiceState()Landroid/telephony/ServiceState;
36914 + :try_end_74
36915 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_74} :catch_76
36917 + move-result-object v8
36919 + goto :goto_60
36921 + :catch_76
36922 + move-exception v7
36924 + invoke-virtual {v7}, Ljava/lang/Exception;->printStackTrace()V
36926 + const-string v0, "PrivacyGSMPhone"
36928 + const-string v1, "We got exception in getServiceState()-> give fake state"
36930 + invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
36932 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getServiceState()Landroid/telephony/ServiceState;
36934 + move-result-object v8
36936 + const-string v0, ""
36938 + const-string v1, ""
36940 + const-string v2, ""
36942 + invoke-virtual {v8, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
36944 + goto :goto_60
36945 +.end method
36947 +.method public getSubscriberId()Ljava/lang/String;
36948 + .registers 8
36950 + const-string v0, "PrivacyGSMPhone"
36952 + new-instance v3, Ljava/lang/StringBuilder;
36954 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
36956 + const-string v4, "Package: "
36958 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36960 + move-result-object v3
36962 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36964 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36966 + move-result-object v4
36968 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36970 + move-result-object v3
36972 + const-string v4, " asked for getSubscriberId()"
36974 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
36976 + move-result-object v3
36978 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
36980 + move-result-object v3
36982 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
36984 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
36986 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
36988 + move-result-object v1
36990 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
36992 + move-result v2
36994 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
36996 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
36998 + move-result-object v6
37000 + if-eqz v6, :cond_4d
37002 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
37004 + move-result v0
37006 + if-eqz v0, :cond_4d
37008 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
37010 + move-result-object v5
37012 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37014 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
37016 + move-result v3
37018 + const-string/jumbo v4, "subscriberID"
37020 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37022 + :goto_4c
37023 + return-object v5
37025 + :cond_4d
37026 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getSubscriberId()Ljava/lang/String;
37028 + move-result-object v5
37030 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37032 + const/4 v3, 0x0
37034 + const-string/jumbo v4, "subscriberID"
37036 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37038 + goto :goto_4c
37039 +.end method
37041 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
37042 + .registers 8
37044 + const-string v0, "PrivacyGSMPhone"
37046 + new-instance v3, Ljava/lang/StringBuilder;
37048 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
37050 + const-string v4, "Package: "
37052 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37054 + move-result-object v3
37056 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
37058 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37060 + move-result-object v4
37062 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37064 + move-result-object v3
37066 + const-string v4, " asked for getVoiceMailAlphaTag()"
37068 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37070 + move-result-object v3
37072 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37074 + move-result-object v3
37076 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
37078 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
37080 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37082 + move-result-object v1
37084 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37086 + move-result v2
37088 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37090 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37092 + move-result-object v6
37094 + if-eqz v6, :cond_4c
37096 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37098 + move-result v0
37100 + if-eqz v0, :cond_4c
37102 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
37104 + move-result-object v5
37106 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37108 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37110 + move-result v3
37112 + const-string v4, "line1Number"
37114 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37116 + :goto_4b
37117 + return-object v5
37119 + :cond_4c
37120 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getVoiceMailAlphaTag()Ljava/lang/String;
37122 + move-result-object v5
37124 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37126 + const/4 v3, 0x0
37128 + const-string v4, "line1Number"
37130 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37132 + goto :goto_4b
37133 +.end method
37135 +.method public getVoiceMailNumber()Ljava/lang/String;
37136 + .registers 8
37138 + const-string v0, "PrivacyGSMPhone"
37140 + new-instance v3, Ljava/lang/StringBuilder;
37142 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
37144 + const-string v4, "Package: "
37146 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37148 + move-result-object v3
37150 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
37152 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37154 + move-result-object v4
37156 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37158 + move-result-object v3
37160 + const-string v4, " asked for getVoiceMailNumber()"
37162 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37164 + move-result-object v3
37166 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37168 + move-result-object v3
37170 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
37172 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->context:Landroid/content/Context;
37174 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37176 + move-result-object v1
37178 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37180 + move-result v2
37182 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37184 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37186 + move-result-object v6
37188 + if-eqz v6, :cond_4c
37190 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37192 + move-result v0
37194 + if-eqz v0, :cond_4c
37196 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
37198 + move-result-object v5
37200 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37202 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37204 + move-result v3
37206 + const-string v4, "line1Number"
37208 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37210 + :goto_4b
37211 + return-object v5
37213 + :cond_4c
37214 + invoke-super {p0}, Lcom/android/internal/telephony/sip/SipPhone;->getVoiceMailNumber()Ljava/lang/String;
37216 + move-result-object v5
37218 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacySipPhone;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37220 + const/4 v3, 0x0
37222 + const-string v4, "line1Number"
37224 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37226 + goto :goto_4b
37227 +.end method
37228 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali ext-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali
37229 --- stock-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 1969-12-31 18:00:00.000000000 -0600
37230 +++ ext-framework/smali/android/privacy/surrogate/PrivacyTelephonyManager.smali 2012-11-08 09:11:56.694842470 -0600
37231 @@ -0,0 +1,1385 @@
37232 +.class public final Landroid/privacy/surrogate/PrivacyTelephonyManager;
37233 +.super Landroid/telephony/TelephonyManager;
37234 +.source "PrivacyTelephonyManager.java"
37237 +# static fields
37238 +.field private static final NETWORK_TYPES:[I = null
37240 +.field private static final PHONE_TYPES:[I = null
37242 +.field private static final TAG:Ljava/lang/String; = "PrivacyTelephonyManager"
37245 +# instance fields
37246 +.field private context:Landroid/content/Context;
37248 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
37251 +# direct methods
37252 +.method static constructor <clinit>()V
37253 + .registers 1
37255 + const/4 v0, 0x4
37257 + new-array v0, v0, [I
37259 + fill-array-data v0, :array_12
37261 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
37263 + const/16 v0, 0x10
37265 + new-array v0, v0, [I
37267 + fill-array-data v0, :array_1e
37269 + sput-object v0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
37271 + return-void
37273 + :array_12
37274 + .array-data 0x4
37275 + 0x0t 0x0t 0x0t 0x0t
37276 + 0x1t 0x0t 0x0t 0x0t
37277 + 0x2t 0x0t 0x0t 0x0t
37278 + 0x3t 0x0t 0x0t 0x0t
37279 + .end array-data
37281 + :array_1e
37282 + .array-data 0x4
37283 + 0x0t 0x0t 0x0t 0x0t
37284 + 0x1t 0x0t 0x0t 0x0t
37285 + 0x2t 0x0t 0x0t 0x0t
37286 + 0x3t 0x0t 0x0t 0x0t
37287 + 0x4t 0x0t 0x0t 0x0t
37288 + 0x5t 0x0t 0x0t 0x0t
37289 + 0x6t 0x0t 0x0t 0x0t
37290 + 0x7t 0x0t 0x0t 0x0t
37291 + 0x8t 0x0t 0x0t 0x0t
37292 + 0x9t 0x0t 0x0t 0x0t
37293 + 0xat 0x0t 0x0t 0x0t
37294 + 0xbt 0x0t 0x0t 0x0t
37295 + 0xct 0x0t 0x0t 0x0t
37296 + 0xdt 0x0t 0x0t 0x0t
37297 + 0xet 0x0t 0x0t 0x0t
37298 + 0xft 0x0t 0x0t 0x0t
37299 + .end array-data
37300 +.end method
37302 +.method public constructor <init>(Landroid/content/Context;)V
37303 + .registers 4
37305 + invoke-direct {p0, p1}, Landroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
37307 + iput-object p1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37309 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
37311 + const-string/jumbo v1, "privacy"
37313 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
37315 + move-result-object v1
37317 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
37319 + move-result-object v1
37321 + invoke-direct {v0, p1, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
37323 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37325 + return-void
37326 +.end method
37328 +.method private getNetworkInfo()Ljava/lang/String;
37329 + .registers 8
37331 + const/4 v5, 0x0
37333 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37335 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37337 + move-result-object v1
37339 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37341 + move-result v2
37343 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37345 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37347 + move-result-object v6
37349 + if-eqz v6, :cond_25
37351 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
37353 + move-result v0
37355 + if-eqz v0, :cond_25
37357 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37359 + const/4 v3, 0x1
37361 + const-string/jumbo v4, "networkInfoCurrent"
37363 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37365 + const-string v5, ""
37367 + :goto_24
37368 + return-object v5
37370 + :cond_25
37371 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37373 + const/4 v3, 0x0
37375 + const-string/jumbo v4, "networkInfoCurrent"
37377 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37379 + goto :goto_24
37380 +.end method
37382 +.method private getSimInfo()Ljava/lang/String;
37383 + .registers 8
37385 + const/4 v5, 0x0
37387 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37389 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37391 + move-result-object v1
37393 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37395 + move-result v2
37397 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37399 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37401 + move-result-object v6
37403 + if-eqz v6, :cond_25
37405 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimInfoSetting()B
37407 + move-result v0
37409 + if-eqz v0, :cond_25
37411 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37413 + const/4 v3, 0x1
37415 + const-string/jumbo v4, "networkInfoSIM"
37417 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37419 + const-string v5, ""
37421 + :goto_24
37422 + return-object v5
37424 + :cond_25
37425 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37427 + const/4 v3, 0x0
37429 + const-string/jumbo v4, "networkInfoSIM"
37431 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37433 + goto :goto_24
37434 +.end method
37437 +# virtual methods
37438 +.method public getAllCellInfo()Ljava/util/List;
37439 + .registers 6
37440 + .annotation system Ldalvik/annotation/Signature;
37441 + value = {
37442 + "()",
37443 + "Ljava/util/List",
37444 + "<",
37445 + "Landroid/telephony/CellInfo;",
37446 + ">;"
37448 + .end annotation
37450 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37452 + iget-object v3, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37454 + invoke-virtual {v3}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37456 + move-result-object v3
37458 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37460 + move-result v4
37462 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37464 + move-result-object v1
37466 + const/4 v0, 0x0
37468 + if-eqz v1, :cond_1f
37470 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
37472 + move-result v2
37474 + const/4 v3, 0x1
37476 + if-ne v2, v3, :cond_20
37478 + new-instance v0, Ljava/util/ArrayList;
37480 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
37482 + :cond_1f
37483 + :goto_1f
37484 + return-object v0
37486 + :cond_20
37487 + invoke-virtual {v1}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
37489 + move-result v2
37491 + if-eqz v2, :cond_2c
37493 + new-instance v0, Ljava/util/ArrayList;
37495 + invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
37497 + goto :goto_1f
37499 + :cond_2c
37500 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
37502 + move-result-object v0
37504 + goto :goto_1f
37505 +.end method
37507 +.method public getCellLocation()Landroid/telephony/CellLocation;
37508 + .registers 10
37510 + const/4 v7, 0x0
37512 + :try_start_1
37513 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37515 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37517 + move-result-object v1
37519 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37521 + move-result v2
37523 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37525 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37527 + move-result-object v6
37529 + if-eqz v6, :cond_2c
37531 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
37533 + move-result v0
37535 + if-nez v0, :cond_1f
37537 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationGpsSetting()B
37539 + move-result v0
37541 + if-eqz v0, :cond_2c
37543 + :cond_1f
37544 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37546 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
37548 + move-result v3
37550 + const-string v4, "locationNetwork"
37552 + const/4 v5, 0x0
37554 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37556 + :goto_2b
37557 + return-object v7
37559 + :cond_2c
37560 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37562 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
37564 + move-result v3
37566 + const-string v4, "locationNetwork"
37568 + const/4 v5, 0x0
37570 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37572 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
37573 + :try_end_3b
37574 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_3b} :catch_3d
37576 + move-result-object v7
37578 + goto :goto_2b
37580 + :catch_3d
37581 + move-exception v8
37583 + goto :goto_2b
37584 +.end method
37586 +.method public getCompleteVoiceMailNumber()Ljava/lang/String;
37587 + .registers 9
37589 + :try_start_0
37590 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37592 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37594 + move-result-object v1
37596 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37598 + move-result v2
37600 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37602 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37604 + move-result-object v6
37606 + const-string v5, ""
37608 + if-eqz v6, :cond_2a
37610 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37612 + move-result v0
37614 + if-eqz v0, :cond_2a
37616 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
37618 + move-result-object v5
37620 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37622 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37624 + move-result v3
37626 + const-string v4, "line1Number"
37628 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37630 + :goto_29
37631 + return-object v5
37633 + :cond_2a
37634 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getCompleteVoiceMailNumber()Ljava/lang/String;
37636 + move-result-object v5
37638 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37640 + const/4 v3, 0x0
37642 + const-string v4, "line1Number"
37644 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37645 + :try_end_36
37646 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
37648 + goto :goto_29
37650 + :catch_37
37651 + move-exception v7
37653 + const/4 v5, 0x0
37655 + goto :goto_29
37656 +.end method
37658 +.method public getDeviceId()Ljava/lang/String;
37659 + .registers 8
37661 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37663 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37665 + move-result-object v1
37667 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37669 + move-result v2
37671 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37673 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37675 + move-result-object v6
37677 + if-eqz v6, :cond_28
37679 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
37681 + move-result v0
37683 + if-eqz v0, :cond_28
37685 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
37687 + move-result-object v5
37689 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37691 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
37693 + move-result v3
37695 + const-string v4, "deviceID"
37697 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37699 + :goto_27
37700 + return-object v5
37702 + :cond_28
37703 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
37705 + move-result-object v5
37707 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37709 + const/4 v3, 0x0
37711 + const-string v4, "deviceID"
37713 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37715 + goto :goto_27
37716 +.end method
37718 +.method public getDeviceSoftwareVersion()Ljava/lang/String;
37719 + .registers 9
37721 + :try_start_0
37722 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37724 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37726 + move-result-object v1
37728 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37730 + move-result v2
37732 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37734 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37736 + move-result-object v6
37738 + const-string v5, ""
37740 + if-eqz v6, :cond_2a
37742 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
37744 + move-result v0
37746 + if-eqz v0, :cond_2a
37748 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceId()Ljava/lang/String;
37750 + move-result-object v5
37752 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37754 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getDeviceIdSetting()B
37756 + move-result v3
37758 + const-string v4, "deviceID"
37760 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37762 + :goto_29
37763 + return-object v5
37765 + :cond_2a
37766 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getDeviceSoftwareVersion()Ljava/lang/String;
37768 + move-result-object v5
37770 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37772 + const/4 v3, 0x0
37774 + const-string v4, "deviceID"
37776 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37777 + :try_end_36
37778 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_36} :catch_37
37780 + goto :goto_29
37782 + :catch_37
37783 + move-exception v7
37785 + const/4 v5, 0x0
37787 + goto :goto_29
37788 +.end method
37790 +.method public getIsimDomain()Ljava/lang/String;
37791 + .registers 2
37793 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
37795 + move-result-object v0
37797 + return-object v0
37798 +.end method
37800 +.method public getIsimImpi()Ljava/lang/String;
37801 + .registers 4
37803 + const-string v0, "PrivacyTelephonyManager"
37805 + new-instance v1, Ljava/lang/StringBuilder;
37807 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
37809 + const-string v2, "getIsimImpi - "
37811 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37813 + move-result-object v1
37815 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37817 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37819 + move-result-object v2
37821 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37823 + move-result-object v1
37825 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37827 + move-result-object v1
37829 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
37831 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
37833 + move-result-object v0
37835 + return-object v0
37836 +.end method
37838 +.method public getIsimImpu()[Ljava/lang/String;
37839 + .registers 10
37841 + const/4 v8, 0x0
37843 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37845 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37847 + move-result-object v1
37849 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37851 + move-result v2
37853 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37855 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37857 + move-result-object v6
37859 + const-string v0, "PrivacyTelephonyManager"
37861 + new-instance v3, Ljava/lang/StringBuilder;
37863 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
37865 + const-string v4, "getIsimImpu() - "
37867 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37869 + move-result-object v3
37871 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37873 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37875 + move-result-object v4
37877 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
37879 + move-result-object v3
37881 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
37883 + move-result-object v3
37885 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
37887 + const/4 v0, 0x1
37889 + new-array v7, v0, [Ljava/lang/String;
37891 + if-eqz v6, :cond_4f
37893 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
37895 + move-result v0
37897 + if-eqz v0, :cond_4f
37899 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
37901 + move-result-object v0
37903 + aput-object v0, v7, v8
37905 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37907 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
37909 + move-result v3
37911 + const-string/jumbo v4, "subscriberID"
37913 + aget-object v5, v7, v8
37915 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37917 + :goto_4e
37918 + return-object v7
37920 + :cond_4f
37921 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
37923 + move-result-object v7
37925 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37927 + const-string/jumbo v4, "subscriberID"
37929 + aget-object v5, v7, v8
37931 + move v3, v8
37933 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37935 + goto :goto_4e
37936 +.end method
37938 +.method public getLine1AlphaTag()Ljava/lang/String;
37939 + .registers 2
37941 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getLine1Number()Ljava/lang/String;
37943 + move-result-object v0
37945 + return-object v0
37946 +.end method
37948 +.method public getLine1Number()Ljava/lang/String;
37949 + .registers 8
37951 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
37953 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
37955 + move-result-object v1
37957 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
37959 + move-result v2
37961 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37963 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
37965 + move-result-object v6
37967 + if-eqz v6, :cond_28
37969 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37971 + move-result v0
37973 + if-eqz v0, :cond_28
37975 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
37977 + move-result-object v5
37979 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37981 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
37983 + move-result v3
37985 + const-string v4, "line1Number"
37987 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
37989 + :goto_27
37990 + return-object v5
37992 + :cond_28
37993 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
37995 + move-result-object v5
37997 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
37999 + const/4 v3, 0x0
38001 + const-string v4, "line1Number"
38003 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38005 + goto :goto_27
38006 +.end method
38008 +.method public getMsisdn()Ljava/lang/String;
38009 + .registers 4
38011 + const-string v0, "PrivacyTelephonyManager"
38013 + new-instance v1, Ljava/lang/StringBuilder;
38015 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
38017 + const-string v2, "getMsisdn() - "
38019 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38021 + move-result-object v1
38023 + iget-object v2, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38025 + invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38027 + move-result-object v2
38029 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38031 + move-result-object v1
38033 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38035 + move-result-object v1
38037 + invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
38039 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSubscriberId()Ljava/lang/String;
38041 + move-result-object v0
38043 + return-object v0
38044 +.end method
38046 +.method public getNeighboringCellInfo()Ljava/util/List;
38047 + .registers 10
38048 + .annotation system Ldalvik/annotation/Signature;
38049 + value = {
38050 + "()",
38051 + "Ljava/util/List",
38052 + "<",
38053 + "Landroid/telephony/NeighboringCellInfo;",
38054 + ">;"
38056 + .end annotation
38058 + iget-object v6, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38060 + iget-object v7, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38062 + invoke-virtual {v7}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38064 + move-result-object v7
38066 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38068 + move-result v8
38070 + invoke-virtual {v6, v7, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38072 + move-result-object v5
38074 + const/4 v3, 0x0
38076 + const-string v4, "[null]"
38078 + if-eqz v5, :cond_1c
38080 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
38082 + move-result v6
38084 + const/4 v7, 0x1
38086 + if-ne v6, v7, :cond_1d
38088 + :cond_1c
38089 + :goto_1c
38090 + return-object v3
38092 + :cond_1d
38093 + invoke-virtual {v5}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
38095 + move-result v6
38097 + if-eqz v6, :cond_2b
38099 + new-instance v3, Ljava/util/ArrayList;
38101 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
38103 + const-string v4, "[empty list of cells]"
38105 + goto :goto_1c
38107 + :cond_2b
38108 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
38110 + move-result-object v3
38112 + const-string v0, ""
38114 + invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
38116 + move-result-object v2
38118 + :goto_35
38119 + invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
38121 + move-result v6
38123 + if-eqz v6, :cond_5f
38125 + invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
38127 + move-result-object v1
38129 + check-cast v1, Landroid/telephony/NeighboringCellInfo;
38131 + new-instance v6, Ljava/lang/StringBuilder;
38133 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
38135 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38137 + move-result-object v6
38139 + const-string v7, "\t"
38141 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38143 + move-result-object v6
38145 + invoke-virtual {v6, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
38147 + move-result-object v6
38149 + const-string v7, "\n"
38151 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38153 + move-result-object v6
38155 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38157 + move-result-object v0
38159 + goto :goto_35
38161 + :cond_5f
38162 + new-instance v6, Ljava/lang/StringBuilder;
38164 + invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
38166 + const-string v7, "[real value]:\n"
38168 + invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38170 + move-result-object v6
38172 + invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38174 + move-result-object v6
38176 + invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38178 + move-result-object v4
38180 + goto :goto_1c
38181 +.end method
38183 +.method public getNetworkCountryIso()Ljava/lang/String;
38184 + .registers 2
38186 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
38188 + move-result-object v0
38190 + if-nez v0, :cond_a
38192 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
38194 + move-result-object v0
38196 + :cond_a
38197 + return-object v0
38198 +.end method
38200 +.method public getNetworkOperator()Ljava/lang/String;
38201 + .registers 2
38203 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
38205 + move-result-object v0
38207 + if-nez v0, :cond_a
38209 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperator()Ljava/lang/String;
38211 + move-result-object v0
38213 + :cond_a
38214 + return-object v0
38215 +.end method
38217 +.method public getNetworkOperatorName()Ljava/lang/String;
38218 + .registers 2
38220 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
38222 + move-result-object v0
38224 + if-nez v0, :cond_a
38226 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkOperatorName()Ljava/lang/String;
38228 + move-result-object v0
38230 + :cond_a
38231 + return-object v0
38232 +.end method
38234 +.method public getNetworkType()I
38235 + .registers 7
38237 + const/4 v5, 0x0
38239 + :try_start_1
38240 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
38242 + move-result-object v1
38244 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
38246 + const/4 v4, 0x0
38248 + aget v2, v3, v4
38250 + if-nez v1, :cond_10
38252 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getNetworkType()I
38253 + :try_end_f
38254 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_f} :catch_11
38256 + move-result v2
38258 + :cond_10
38259 + :goto_10
38260 + return v2
38262 + :catch_11
38263 + move-exception v0
38265 + sget-object v3, Landroid/privacy/surrogate/PrivacyTelephonyManager;->NETWORK_TYPES:[I
38267 + aget v2, v3, v5
38269 + goto :goto_10
38270 +.end method
38272 +.method public getPhoneType()I
38273 + .registers 5
38275 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getNetworkInfo()Ljava/lang/String;
38277 + move-result-object v0
38279 + sget-object v2, Landroid/privacy/surrogate/PrivacyTelephonyManager;->PHONE_TYPES:[I
38281 + const/4 v3, 0x0
38283 + aget v1, v2, v3
38285 + if-nez v0, :cond_f
38287 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getPhoneType()I
38289 + move-result v1
38291 + :cond_f
38292 + return v1
38293 +.end method
38295 +.method public getSimCountryIso()Ljava/lang/String;
38296 + .registers 2
38298 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
38300 + move-result-object v0
38302 + if-nez v0, :cond_a
38304 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimCountryIso()Ljava/lang/String;
38306 + move-result-object v0
38308 + :cond_a
38309 + return-object v0
38310 +.end method
38312 +.method public getSimOperator()Ljava/lang/String;
38313 + .registers 2
38315 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
38317 + move-result-object v0
38319 + if-nez v0, :cond_a
38321 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperator()Ljava/lang/String;
38323 + move-result-object v0
38325 + :cond_a
38326 + return-object v0
38327 +.end method
38329 +.method public getSimOperatorName()Ljava/lang/String;
38330 + .registers 2
38332 + invoke-direct {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getSimInfo()Ljava/lang/String;
38334 + move-result-object v0
38336 + if-nez v0, :cond_a
38338 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimOperatorName()Ljava/lang/String;
38340 + move-result-object v0
38342 + :cond_a
38343 + return-object v0
38344 +.end method
38346 +.method public getSimSerialNumber()Ljava/lang/String;
38347 + .registers 8
38349 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38351 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38353 + move-result-object v1
38355 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38357 + move-result v2
38359 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38361 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38363 + move-result-object v6
38365 + if-eqz v6, :cond_29
38367 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
38369 + move-result v0
38371 + if-eqz v0, :cond_29
38373 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumber()Ljava/lang/String;
38375 + move-result-object v5
38377 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38379 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSimSerialNumberSetting()B
38381 + move-result v3
38383 + const-string/jumbo v4, "simSerial"
38385 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38387 + :goto_28
38388 + return-object v5
38390 + :cond_29
38391 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
38393 + move-result-object v5
38395 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38397 + const/4 v3, 0x0
38399 + const-string/jumbo v4, "simSerial"
38401 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38403 + goto :goto_28
38404 +.end method
38406 +.method public getSubscriberId()Ljava/lang/String;
38407 + .registers 8
38409 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38411 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38413 + move-result-object v1
38415 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38417 + move-result v2
38419 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38421 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38423 + move-result-object v6
38425 + const-string v0, "PrivacyTelephonyManager"
38427 + new-instance v3, Ljava/lang/StringBuilder;
38429 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
38431 + const-string v4, "getSubscriberId() - "
38433 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38435 + move-result-object v3
38437 + iget-object v4, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38439 + invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38441 + move-result-object v4
38443 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
38445 + move-result-object v3
38447 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
38449 + move-result-object v3
38451 + invoke-static {v0, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
38453 + if-eqz v6, :cond_47
38455 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
38457 + move-result v0
38459 + if-eqz v0, :cond_47
38461 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberId()Ljava/lang/String;
38463 + move-result-object v5
38465 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38467 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getSubscriberIdSetting()B
38469 + move-result v3
38471 + const-string/jumbo v4, "subscriberID"
38473 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38475 + :goto_46
38476 + return-object v5
38478 + :cond_47
38479 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getSubscriberId()Ljava/lang/String;
38481 + move-result-object v5
38483 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38485 + const/4 v3, 0x0
38487 + const-string/jumbo v4, "subscriberID"
38489 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38491 + goto :goto_46
38492 +.end method
38494 +.method public getVoiceMailAlphaTag()Ljava/lang/String;
38495 + .registers 2
38497 + invoke-virtual {p0}, Landroid/privacy/surrogate/PrivacyTelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
38499 + move-result-object v0
38501 + return-object v0
38502 +.end method
38504 +.method public getVoiceMailNumber()Ljava/lang/String;
38505 + .registers 8
38507 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38509 + invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38511 + move-result-object v1
38513 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38515 + move-result v2
38517 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38519 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38521 + move-result-object v6
38523 + if-eqz v6, :cond_28
38525 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
38527 + move-result v0
38529 + if-eqz v0, :cond_28
38531 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1Number()Ljava/lang/String;
38533 + move-result-object v5
38535 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38537 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLine1NumberSetting()B
38539 + move-result v3
38541 + const-string v4, "line1Number"
38543 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38545 + :goto_27
38546 + return-object v5
38548 + :cond_28
38549 + invoke-super {p0}, Landroid/telephony/TelephonyManager;->getVoiceMailNumber()Ljava/lang/String;
38551 + move-result-object v5
38553 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38555 + const/4 v3, 0x0
38557 + const-string v4, "line1Number"
38559 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38561 + goto :goto_27
38562 +.end method
38564 +.method public listen(Landroid/telephony/PhoneStateListener;I)V
38565 + .registers 5
38567 + and-int/lit8 v1, p2, 0x10
38569 + if-nez v1, :cond_8
38571 + and-int/lit8 v1, p2, 0x20
38573 + if-eqz v1, :cond_29
38575 + :cond_8
38576 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38578 + if-eqz v1, :cond_27
38580 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38582 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38584 + move-result-object v0
38586 + :goto_12
38587 + if-eqz v0, :cond_1c
38589 + invoke-virtual {p1, v0}, Landroid/telephony/PhoneStateListener;->setPackageName(Ljava/lang/String;)V
38591 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyTelephonyManager;->context:Landroid/content/Context;
38593 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setContext(Landroid/content/Context;)V
38595 + :cond_1c
38596 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38598 + move-result v1
38600 + invoke-virtual {p1, v1}, Landroid/telephony/PhoneStateListener;->setUid(I)V
38602 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
38604 + :goto_26
38605 + return-void
38607 + :cond_27
38608 + const/4 v0, 0x0
38610 + goto :goto_12
38612 + :cond_29
38613 + invoke-super {p0, p1, p2}, Landroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
38615 + goto :goto_26
38616 +.end method
38617 diff -Npru stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali ext-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali
38618 --- stock-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 1969-12-31 18:00:00.000000000 -0600
38619 +++ ext-framework/smali/android/privacy/surrogate/PrivacyWifiManager.smali 2012-11-08 09:11:56.698842487 -0600
38620 @@ -0,0 +1,1097 @@
38621 +.class public Landroid/privacy/surrogate/PrivacyWifiManager;
38622 +.super Landroid/net/wifi/WifiManager;
38623 +.source "PrivacyWifiManager.java"
38626 +# static fields
38627 +.field private static final P_TAG:Ljava/lang/String; = "PrivacyWifiManager"
38630 +# instance fields
38631 +.field private context:Landroid/content/Context;
38633 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
38636 +# direct methods
38637 +.method public constructor <init>(Landroid/net/wifi/IWifiManager;Landroid/os/Handler;Landroid/content/Context;)V
38638 + .registers 6
38640 + invoke-direct {p0, p1, p2}, Landroid/net/wifi/WifiManager;-><init>(Landroid/net/wifi/IWifiManager;Landroid/os/Handler;)V
38642 + iput-object p3, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38644 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
38646 + const-string/jumbo v1, "privacy"
38648 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
38650 + move-result-object v1
38652 + invoke-static {v1}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
38654 + move-result-object v1
38656 + invoke-direct {v0, p3, v1}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
38658 + iput-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38660 + return-void
38661 +.end method
38664 +# virtual methods
38665 +.method public getConfigFile()Ljava/lang/String;
38666 + .registers 9
38668 + const/4 v2, -0x1
38670 + const/4 v5, 0x0
38672 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38674 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38676 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38678 + move-result-object v1
38680 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38682 + move-result v3
38684 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38686 + move-result-object v7
38688 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38690 + if-eqz v0, :cond_31
38692 + if-eqz v7, :cond_31
38694 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
38696 + move-result v0
38698 + if-eqz v0, :cond_31
38700 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38702 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38704 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38706 + move-result-object v1
38708 + const/4 v3, 0x1
38710 + const-string/jumbo v4, "wifiInfo"
38712 + move-object v6, v5
38714 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38716 + const-string v0, ""
38718 + :goto_30
38719 + return-object v0
38721 + :cond_31
38722 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38724 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38726 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38728 + move-result-object v1
38730 + const/4 v3, 0x0
38732 + const-string/jumbo v4, "wifiInfo"
38734 + move-object v6, v5
38736 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38738 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfigFile()Ljava/lang/String;
38740 + move-result-object v0
38742 + goto :goto_30
38743 +.end method
38745 +.method public getConfiguredNetworks()Ljava/util/List;
38746 + .registers 10
38747 + .annotation system Ldalvik/annotation/Signature;
38748 + value = {
38749 + "()",
38750 + "Ljava/util/List",
38751 + "<",
38752 + "Landroid/net/wifi/WifiConfiguration;",
38753 + ">;"
38755 + .end annotation
38757 + const/4 v2, -0x1
38759 + const/4 v5, 0x0
38761 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38763 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38765 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38767 + move-result-object v1
38769 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38771 + move-result v3
38773 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38775 + move-result-object v8
38777 + new-instance v7, Ljava/util/ArrayList;
38779 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
38781 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38783 + if-eqz v0, :cond_34
38785 + if-eqz v8, :cond_34
38787 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
38789 + move-result v0
38791 + if-eqz v0, :cond_34
38793 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38795 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38797 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38799 + move-result-object v1
38801 + const/4 v3, 0x1
38803 + const-string/jumbo v4, "wifiInfo"
38805 + move-object v6, v5
38807 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38809 + :goto_33
38810 + return-object v7
38812 + :cond_34
38813 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38815 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38817 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38819 + move-result-object v1
38821 + const/4 v3, 0x0
38823 + const-string/jumbo v4, "wifiInfo"
38825 + move-object v6, v5
38827 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38829 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
38831 + move-result-object v7
38833 + goto :goto_33
38834 +.end method
38836 +.method public getConnectionInfo()Landroid/net/wifi/WifiInfo;
38837 + .registers 10
38839 + const/4 v3, 0x1
38841 + const/4 v2, -0x1
38843 + const/4 v5, 0x0
38845 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38847 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38849 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38851 + move-result-object v1
38853 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38855 + move-result v4
38857 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38859 + move-result-object v8
38861 + new-instance v7, Landroid/net/wifi/WifiInfo;
38863 + invoke-direct {v7, v3}, Landroid/net/wifi/WifiInfo;-><init>(Z)V
38865 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38867 + if-eqz v0, :cond_34
38869 + if-eqz v8, :cond_34
38871 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
38873 + move-result v0
38875 + if-eqz v0, :cond_34
38877 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38879 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38881 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38883 + move-result-object v1
38885 + const-string/jumbo v4, "wifiInfo"
38887 + move-object v6, v5
38889 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38891 + :goto_33
38892 + return-object v7
38894 + :cond_34
38895 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38897 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38899 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38901 + move-result-object v1
38903 + const/4 v3, 0x0
38905 + const-string/jumbo v4, "wifiInfo"
38907 + move-object v6, v5
38909 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38911 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
38913 + move-result-object v7
38915 + goto :goto_33
38916 +.end method
38918 +.method public getDhcpInfo()Landroid/net/DhcpInfo;
38919 + .registers 9
38921 + const/4 v2, -0x1
38923 + const/4 v5, 0x0
38925 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38927 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38929 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38931 + move-result-object v1
38933 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
38935 + move-result v3
38937 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
38939 + move-result-object v7
38941 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38943 + if-eqz v0, :cond_34
38945 + if-eqz v7, :cond_34
38947 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
38949 + move-result v0
38951 + if-eqz v0, :cond_34
38953 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38955 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38957 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38959 + move-result-object v1
38961 + const/4 v3, 0x1
38963 + const-string/jumbo v4, "wifiInfo"
38965 + move-object v6, v5
38967 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38969 + new-instance v0, Landroid/net/DhcpInfo;
38971 + invoke-direct {v0}, Landroid/net/DhcpInfo;-><init>()V
38973 + :goto_33
38974 + return-object v0
38976 + :cond_34
38977 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
38979 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
38981 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
38983 + move-result-object v1
38985 + const/4 v3, 0x0
38987 + const-string/jumbo v4, "wifiInfo"
38989 + move-object v6, v5
38991 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
38993 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
38995 + move-result-object v0
38997 + goto :goto_33
38998 +.end method
39000 +.method public getFrequencyBand()I
39001 + .registers 9
39003 + const/4 v2, -0x1
39005 + const/4 v5, 0x0
39007 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39009 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39011 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39013 + move-result-object v1
39015 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39017 + move-result v3
39019 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39021 + move-result-object v7
39023 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39025 + if-eqz v0, :cond_2f
39027 + if-eqz v7, :cond_2f
39029 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39031 + move-result v0
39033 + if-eqz v0, :cond_2f
39035 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39037 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39039 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39041 + move-result-object v1
39043 + const/4 v3, 0x1
39045 + const-string/jumbo v4, "wifiInfo"
39047 + move-object v6, v5
39049 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39051 + :goto_2e
39052 + return v2
39054 + :cond_2f
39055 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39057 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39059 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39061 + move-result-object v1
39063 + const/4 v3, 0x0
39065 + const-string/jumbo v4, "wifiInfo"
39067 + move-object v6, v5
39069 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39071 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getFrequencyBand()I
39073 + move-result v2
39075 + goto :goto_2e
39076 +.end method
39078 +.method public getScanResults()Ljava/util/List;
39079 + .registers 10
39080 + .annotation system Ldalvik/annotation/Signature;
39081 + value = {
39082 + "()",
39083 + "Ljava/util/List",
39084 + "<",
39085 + "Landroid/net/wifi/ScanResult;",
39086 + ">;"
39088 + .end annotation
39090 + const/4 v2, -0x1
39092 + const/4 v5, 0x0
39094 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39096 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39098 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39100 + move-result-object v1
39102 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39104 + move-result v3
39106 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39108 + move-result-object v8
39110 + new-instance v7, Ljava/util/ArrayList;
39112 + invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
39114 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39116 + if-eqz v0, :cond_34
39118 + if-eqz v8, :cond_34
39120 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39122 + move-result v0
39124 + if-eqz v0, :cond_34
39126 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39128 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39130 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39132 + move-result-object v1
39134 + const/4 v3, 0x1
39136 + const-string/jumbo v4, "wifiInfo"
39138 + move-object v6, v5
39140 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39142 + :goto_33
39143 + return-object v7
39145 + :cond_34
39146 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39148 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39150 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39152 + move-result-object v1
39154 + const/4 v3, 0x0
39156 + const-string/jumbo v4, "wifiInfo"
39158 + move-object v6, v5
39160 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39162 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
39164 + move-result-object v7
39166 + goto :goto_33
39167 +.end method
39169 +.method public getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
39170 + .registers 9
39172 + const/4 v2, -0x1
39174 + const/4 v5, 0x0
39176 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39178 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39180 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39182 + move-result-object v1
39184 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39186 + move-result v3
39188 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39190 + move-result-object v7
39192 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39194 + if-eqz v0, :cond_34
39196 + if-eqz v7, :cond_34
39198 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39200 + move-result v0
39202 + if-eqz v0, :cond_34
39204 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39206 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39208 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39210 + move-result-object v1
39212 + const/4 v3, 0x1
39214 + const-string/jumbo v4, "wifiInfo"
39216 + move-object v6, v5
39218 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39220 + new-instance v0, Landroid/net/wifi/WifiConfiguration;
39222 + invoke-direct {v0}, Landroid/net/wifi/WifiConfiguration;-><init>()V
39224 + :goto_33
39225 + return-object v0
39227 + :cond_34
39228 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39230 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39232 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39234 + move-result-object v1
39236 + const/4 v3, 0x0
39238 + const-string/jumbo v4, "wifiInfo"
39240 + move-object v6, v5
39242 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39244 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
39246 + move-result-object v0
39248 + goto :goto_33
39249 +.end method
39251 +.method public getWifiState()I
39252 + .registers 9
39254 + const/4 v3, 0x1
39256 + const/4 v2, -0x1
39258 + const/4 v5, 0x0
39260 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39262 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39264 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39266 + move-result-object v1
39268 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39270 + move-result v4
39272 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39274 + move-result-object v7
39276 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39278 + if-eqz v0, :cond_30
39280 + if-eqz v7, :cond_30
39282 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
39284 + move-result v0
39286 + if-nez v0, :cond_30
39288 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39290 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39292 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39294 + move-result-object v1
39296 + const-string/jumbo v4, "wifiInfo"
39298 + move-object v6, v5
39300 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39302 + const/4 v0, 0x3
39304 + :goto_2f
39305 + return v0
39307 + :cond_30
39308 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39310 + if-eqz v0, :cond_4d
39312 + if-eqz v7, :cond_4d
39314 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39316 + move-result v0
39318 + if-eqz v0, :cond_4d
39320 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39322 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39324 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39326 + move-result-object v1
39328 + const-string/jumbo v4, "wifiInfo"
39330 + move-object v6, v5
39332 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39334 + const/4 v0, 0x4
39336 + goto :goto_2f
39338 + :cond_4d
39339 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39341 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39343 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39345 + move-result-object v1
39347 + const/4 v3, 0x0
39349 + const-string/jumbo v4, "wifiInfo"
39351 + move-object v6, v5
39353 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39355 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->getWifiState()I
39357 + move-result v0
39359 + goto :goto_2f
39360 +.end method
39362 +.method public isWifiEnabled()Z
39363 + .registers 10
39365 + const/4 v8, 0x0
39367 + const/4 v3, 0x1
39369 + const/4 v2, -0x1
39371 + const/4 v5, 0x0
39373 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39375 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39377 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39379 + move-result-object v1
39381 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39383 + move-result v4
39385 + invoke-virtual {v0, v1, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39387 + move-result-object v7
39389 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39391 + if-eqz v0, :cond_30
39393 + if-eqz v7, :cond_30
39395 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getForceOnlineState()B
39397 + move-result v0
39399 + if-nez v0, :cond_30
39401 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39403 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39405 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39407 + move-result-object v1
39409 + const-string/jumbo v4, "wifiInfo"
39411 + move-object v6, v5
39413 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39415 + :goto_2f
39416 + return v3
39418 + :cond_30
39419 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39421 + if-eqz v0, :cond_4d
39423 + if-eqz v7, :cond_4d
39425 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39427 + move-result v0
39429 + if-eqz v0, :cond_4d
39431 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39433 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39435 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39437 + move-result-object v1
39439 + const-string/jumbo v4, "wifiInfo"
39441 + move-object v6, v5
39443 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39445 + move v3, v8
39447 + goto :goto_2f
39449 + :cond_4d
39450 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39452 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39454 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39456 + move-result-object v1
39458 + const-string/jumbo v4, "wifiInfo"
39460 + move v3, v8
39462 + move-object v6, v5
39464 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39466 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->isWifiEnabled()Z
39468 + move-result v3
39470 + goto :goto_2f
39471 +.end method
39473 +.method public setWifiEnabled(Z)Z
39474 + .registers 11
39476 + const/4 v8, 0x0
39478 + const/4 v2, -0x1
39480 + const/4 v5, 0x0
39482 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39484 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39486 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39488 + move-result-object v1
39490 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39492 + move-result v3
39494 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39496 + move-result-object v7
39498 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39500 + if-eqz v0, :cond_31
39502 + if-eqz v7, :cond_31
39504 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getSwitchWifiStateSetting()B
39506 + move-result v0
39508 + if-eqz v0, :cond_31
39510 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39512 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39514 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39516 + move-result-object v1
39518 + const/4 v3, 0x1
39520 + const-string/jumbo v4, "switchWifiState"
39522 + move-object v6, v5
39524 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39526 + move v0, v8
39528 + :goto_30
39529 + return v0
39531 + :cond_31
39532 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39534 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39536 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39538 + move-result-object v1
39540 + const-string/jumbo v4, "switchWifiState"
39542 + move v3, v8
39544 + move-object v6, v5
39546 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39548 + invoke-super {p0, p1}, Landroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
39550 + move-result v0
39552 + goto :goto_30
39553 +.end method
39555 +.method public startScan()Z
39556 + .registers 10
39558 + const/4 v8, 0x0
39560 + const/4 v2, -0x1
39562 + const/4 v5, 0x0
39564 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39566 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39568 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39570 + move-result-object v1
39572 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39574 + move-result v3
39576 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39578 + move-result-object v7
39580 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39582 + if-eqz v0, :cond_31
39584 + if-eqz v7, :cond_31
39586 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39588 + move-result v0
39590 + if-eqz v0, :cond_31
39592 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39594 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39596 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39598 + move-result-object v1
39600 + const/4 v3, 0x1
39602 + const-string/jumbo v4, "wifiInfo"
39604 + move-object v6, v5
39606 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39608 + move v0, v8
39610 + :goto_30
39611 + return v0
39613 + :cond_31
39614 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39616 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39618 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39620 + move-result-object v1
39622 + const-string/jumbo v4, "wifiInfo"
39624 + move v3, v8
39626 + move-object v6, v5
39628 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39630 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScan()Z
39632 + move-result v0
39634 + goto :goto_30
39635 +.end method
39637 +.method public startScanActive()Z
39638 + .registers 10
39640 + const/4 v8, 0x0
39642 + const/4 v2, -0x1
39644 + const/4 v5, 0x0
39646 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39648 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39650 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39652 + move-result-object v1
39654 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
39656 + move-result v3
39658 + invoke-virtual {v0, v1, v3}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39660 + move-result-object v7
39662 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39664 + if-eqz v0, :cond_31
39666 + if-eqz v7, :cond_31
39668 + invoke-virtual {v7}, Landroid/privacy/PrivacySettings;->getWifiInfoSetting()B
39670 + move-result v0
39672 + if-eqz v0, :cond_31
39674 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39676 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39678 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39680 + move-result-object v1
39682 + const/4 v3, 0x1
39684 + const-string/jumbo v4, "wifiInfo"
39686 + move-object v6, v5
39688 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39690 + move v0, v8
39692 + :goto_30
39693 + return v0
39695 + :cond_31
39696 + iget-object v0, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39698 + iget-object v1, p0, Landroid/privacy/surrogate/PrivacyWifiManager;->context:Landroid/content/Context;
39700 + invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
39702 + move-result-object v1
39704 + const-string/jumbo v4, "wifiInfo"
39706 + move v3, v8
39708 + move-object v6, v5
39710 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
39712 + invoke-super {p0}, Landroid/net/wifi/WifiManager;->startScanActive()Z
39714 + move-result v0
39716 + goto :goto_30
39717 +.end method
39718 diff -Npru stock-framework/smali/android/provider/Settings$Secure.smali ext-framework/smali/android/provider/Settings$Secure.smali
39719 --- stock-framework/smali/android/provider/Settings$Secure.smali 2012-11-08 09:12:17.190944101 -0600
39720 +++ ext-framework/smali/android/provider/Settings$Secure.smali 2012-11-08 09:11:56.762842802 -0600
39721 @@ -292,6 +292,8 @@
39723 .field public static final PREFERRED_TTY_MODE:Ljava/lang/String; = "preferred_tty_mode"
39725 +.field private static final PRIVACY_TAG:Ljava/lang/String; = "PM,SecureSettings"
39727 .field public static final READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT:Ljava/lang/String; = "read_external_storage_enforced_default"
39729 .field public static final REBOOT_INTERVAL:Ljava/lang/String; = "reboot_interval"
39730 @@ -567,6 +569,14 @@
39732 .field public static final WTF_IS_FATAL:Ljava/lang/String; = "wtf_is_fatal"
39734 +.field private static context:Landroid/content/Context;
39736 +.field private static mPm:Landroid/content/pm/IPackageManager;
39738 +.field private static pSetMan:Landroid/privacy/PrivacySettingsManager;
39740 +.field private static privacyMode:Z
39742 .field private static sIsSystemProcess:Z
39744 .field private static sLockSettings:Lcom/android/internal/widget/ILockSettings;
39745 @@ -582,6 +592,8 @@
39747 const/4 v3, 0x3
39749 + const/4 v2, 0x0
39751 sput-object v0, Landroid/provider/Settings$Secure;->sNameValueCache:Landroid/provider/Settings$NameValueCache;
39753 sput-object v0, Landroid/provider/Settings$Secure;->sLockSettings:Lcom/android/internal/widget/ILockSettings;
39754 @@ -618,15 +630,15 @@
39756 sput-object v0, Landroid/provider/Settings$Secure;->CONTENT_URI:Landroid/net/Uri;
39758 + sput-boolean v2, Landroid/provider/Settings$Secure;->privacyMode:Z
39760 const/16 v0, 0x1e
39762 new-array v0, v0, [Ljava/lang/String;
39764 - const/4 v1, 0x0
39765 + const-string v1, "adb_enabled"
39767 - const-string v2, "adb_enabled"
39769 - aput-object v2, v0, v1
39770 + aput-object v1, v0, v2
39772 const/4 v1, 0x1
39774 @@ -1083,6 +1095,70 @@
39775 goto :goto_a
39776 .end method
39778 +.method private static getPackageName()[Ljava/lang/String;
39779 + .registers 5
39781 + :try_start_0
39782 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
39784 + if-eqz v3, :cond_f
39786 + invoke-static {}, Landroid/os/Process;->myUid()I
39788 + move-result v2
39790 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
39792 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
39794 + move-result-object v1
39796 + :goto_e
39797 + return-object v1
39799 + :cond_f
39800 + const-string/jumbo v3, "package"
39802 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
39804 + move-result-object v3
39806 + invoke-static {v3}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
39808 + move-result-object v3
39810 + sput-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
39812 + invoke-static {}, Landroid/os/Process;->myUid()I
39814 + move-result v2
39816 + sget-object v3, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
39818 + invoke-interface {v3, v2}, Landroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
39819 + :try_end_25
39820 + .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_25} :catch_27
39822 + move-result-object v1
39824 + goto :goto_e
39826 + :catch_27
39827 + move-exception v0
39829 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
39831 + const-string v3, "PM,SecureSettings"
39833 + const-string/jumbo v4, "something went wrong with getting package name"
39835 + invoke-static {v3, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
39837 + const/4 v1, 0x0
39839 + goto :goto_e
39840 +.end method
39842 .method public static declared-synchronized getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
39843 .registers 7
39845 @@ -1217,6 +1293,71 @@
39846 return-object v0
39847 .end method
39849 +.method private static initiate()V
39850 + .registers 4
39852 + const/4 v1, 0x0
39854 + :try_start_1
39855 + sput-object v1, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
39857 + new-instance v1, Landroid/privacy/PrivacySettingsManager;
39859 + sget-object v2, Landroid/provider/Settings$Secure;->context:Landroid/content/Context;
39861 + const-string/jumbo v3, "privacy"
39863 + invoke-static {v3}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
39865 + move-result-object v3
39867 + invoke-static {v3}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
39869 + move-result-object v3
39871 + invoke-direct {v1, v2, v3}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
39873 + sput-object v1, Landroid/provider/Settings$Secure;->pSetMan:Landroid/privacy/PrivacySettingsManager;
39875 + const-string/jumbo v1, "package"
39877 + invoke-static {v1}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
39879 + move-result-object v1
39881 + invoke-static {v1}, Landroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
39883 + move-result-object v1
39885 + sput-object v1, Landroid/provider/Settings$Secure;->mPm:Landroid/content/pm/IPackageManager;
39887 + const/4 v1, 0x1
39889 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
39890 + :try_end_27
39891 + .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
39893 + :goto_27
39894 + return-void
39896 + :catch_28
39897 + move-exception v0
39899 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
39901 + const-string v1, "PM,SecureSettings"
39903 + const-string v2, "Something went wrong with initalize variables"
39905 + invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
39907 + const/4 v1, 0x0
39909 + sput-boolean v1, Landroid/provider/Settings$Secure;->privacyMode:Z
39911 + goto :goto_27
39912 +.end method
39914 .method public static final isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
39915 .registers 4
39917 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener$1.smali ext-framework/smali/android/telephony/PhoneStateListener$1.smali
39918 --- stock-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-11-08 09:12:17.462945450 -0600
39919 +++ ext-framework/smali/android/telephony/PhoneStateListener$1.smali 2012-11-08 09:11:56.942843693 -0600
39920 @@ -64,23 +64,196 @@
39921 .end method
39923 .method public onCallStateChanged(ILjava/lang/String;)V
39924 - .registers 6
39925 + .registers 19
39927 - iget-object v0, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
39928 + move-object/from16 v0, p0
39930 - iget-object v0, v0, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
39931 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
39933 - const/16 v1, 0x20
39934 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
39935 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
39937 - const/4 v2, 0x0
39938 + move-result-object v3
39940 - invoke-static {v0, v1, p1, v2, p2}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
39941 + if-eqz v3, :cond_99
39943 - move-result-object v0
39944 + if-eqz p2, :cond_99
39946 - invoke-virtual {v0}, Landroid/os/Message;->sendToTarget()V
39947 + invoke-virtual/range {p2 .. p2}, Ljava/lang/String;->isEmpty()Z
39949 + move-result v3
39951 + if-nez v3, :cond_99
39953 + move-object/from16 v0, p0
39955 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
39957 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
39958 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
39960 + move-result-object v3
39962 + const-string/jumbo v4, "privacy"
39964 + invoke-virtual {v3, v4}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
39966 + move-result-object v2
39968 + check-cast v2, Landroid/privacy/PrivacySettingsManager;
39970 + move-object/from16 v0, p0
39972 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
39974 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
39975 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
39977 + move-result-object v3
39979 + move-object/from16 v0, p0
39981 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
39983 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
39984 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
39986 + move-result v4
39988 + invoke-virtual {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
39990 + move-result-object v8
39992 + if-eqz v8, :cond_6a
39994 + invoke-virtual {v8}, Landroid/privacy/PrivacySettings;->getIncomingCallsSetting()B
39996 + move-result v3
39998 + if-eqz v3, :cond_6a
40000 + const-string v7, ""
40002 + move-object/from16 v0, p0
40004 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40006 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
40008 + const/16 v4, 0x20
40010 + const/4 v5, 0x0
40012 + move/from16 v0, p1
40014 + invoke-static {v3, v4, v0, v5, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
40016 + move-result-object v3
40018 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
40020 + move-object/from16 v0, p0
40022 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40024 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40025 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
40027 + move-result-object v3
40029 + move-object/from16 v0, p0
40031 + iget-object v4, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40033 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
40034 + invoke-static {v4}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
40036 + move-result v4
40038 + const/4 v5, 0x1
40040 + const-string v6, "incomingCall"
40042 + invoke-virtual/range {v2 .. v8}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
40044 + :goto_69
40045 return-void
40047 + :cond_6a
40048 + move-object/from16 v0, p0
40050 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40052 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
40054 + const/16 v4, 0x20
40056 + const/4 v5, 0x0
40058 + move/from16 v0, p1
40060 + move-object/from16 v1, p2
40062 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
40064 + move-result-object v3
40066 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
40068 + move-object/from16 v0, p0
40070 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40072 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40073 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
40075 + move-result-object v10
40077 + move-object/from16 v0, p0
40079 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40081 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
40082 + invoke-static {v3}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
40084 + move-result v11
40086 + const/4 v12, 0x0
40088 + const-string v13, "incomingCall"
40090 + move-object v9, v2
40092 + move-object/from16 v14, p2
40094 + move-object v15, v8
40096 + invoke-virtual/range {v9 .. v15}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
40098 + goto :goto_69
40100 + :cond_99
40101 + move-object/from16 v0, p0
40103 + iget-object v3, v0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40105 + iget-object v3, v3, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
40107 + const/16 v4, 0x20
40109 + const/4 v5, 0x0
40111 + move/from16 v0, p1
40113 + move-object/from16 v1, p2
40115 + invoke-static {v3, v4, v0, v5, v1}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
40117 + move-result-object v3
40119 + invoke-virtual {v3}, Landroid/os/Message;->sendToTarget()V
40121 + goto :goto_69
40122 .end method
40124 .method public onCellInfoChanged(Landroid/telephony/CellInfo;)V
40125 @@ -104,27 +277,124 @@
40126 .end method
40128 .method public onCellLocationChanged(Landroid/os/Bundle;)V
40129 - .registers 6
40130 + .registers 10
40132 + const/4 v5, 0x0
40134 const/4 v3, 0x0
40136 invoke-static {p1}, Landroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
40138 + move-result-object v7
40140 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40142 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
40143 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
40145 + move-result-object v1
40147 + if-eqz v1, :cond_4a
40149 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40151 + #getter for: Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
40152 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
40154 + move-result-object v1
40156 + const-string/jumbo v2, "privacy"
40158 + invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
40160 move-result-object v0
40162 + check-cast v0, Landroid/privacy/PrivacySettingsManager;
40164 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40166 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40167 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
40169 + move-result-object v1
40171 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40173 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
40174 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
40176 + move-result v2
40178 + invoke-virtual {v0, v1, v2}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
40180 + move-result-object v6
40182 + if-eqz v6, :cond_4b
40184 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
40186 + move-result v1
40188 + if-eqz v1, :cond_4b
40190 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40192 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40193 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
40195 + move-result-object v1
40197 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40199 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
40200 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
40202 + move-result v2
40204 + invoke-virtual {v6}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
40206 + move-result v3
40208 + const-string v4, "locationNetwork"
40210 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
40212 + :cond_4a
40213 + :goto_4a
40214 + return-void
40216 + :cond_4b
40217 iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40219 iget-object v1, v1, Landroid/telephony/PhoneStateListener;->mHandler:Landroid/os/Handler;
40221 const/16 v2, 0x10
40223 - invoke-static {v1, v2, v3, v3, v0}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
40224 + invoke-static {v1, v2, v3, v3, v7}, Landroid/os/Message;->obtain(Landroid/os/Handler;IIILjava/lang/Object;)Landroid/os/Message;
40226 move-result-object v1
40228 invoke-virtual {v1}, Landroid/os/Message;->sendToTarget()V
40230 - return-void
40231 + iget-object v1, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40233 + #getter for: Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40234 + invoke-static {v1}, Landroid/telephony/PhoneStateListener;->access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
40236 + move-result-object v1
40238 + iget-object v2, p0, Landroid/telephony/PhoneStateListener$1;->this$0:Landroid/telephony/PhoneStateListener;
40240 + #getter for: Landroid/telephony/PhoneStateListener;->uid:I
40241 + invoke-static {v2}, Landroid/telephony/PhoneStateListener;->access$200(Landroid/telephony/PhoneStateListener;)I
40243 + move-result v2
40245 + const-string v4, "locationNetwork"
40247 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
40249 + goto :goto_4a
40250 .end method
40252 .method public onDataActivity(I)V
40253 diff -Npru stock-framework/smali/android/telephony/PhoneStateListener.smali ext-framework/smali/android/telephony/PhoneStateListener.smali
40254 --- stock-framework/smali/android/telephony/PhoneStateListener.smali 2012-11-08 09:12:16.282939591 -0600
40255 +++ ext-framework/smali/android/telephony/PhoneStateListener.smali 2012-11-08 09:11:55.914838591 -0600
40256 @@ -31,12 +31,20 @@
40258 .field public static final LISTEN_SIGNAL_STRENGTHS:I = 0x100
40260 +.field private static final TAG:Ljava/lang/String; = "PhoneStateListener"
40263 # instance fields
40264 .field callback:Lcom/android/internal/telephony/IPhoneStateListener;
40266 +.field private context:Landroid/content/Context;
40268 .field mHandler:Landroid/os/Handler;
40270 +.field private packageName:Ljava/lang/String;
40272 +.field private uid:I
40275 # direct methods
40276 .method public constructor <init>()V
40277 @@ -59,6 +67,30 @@
40278 return-void
40279 .end method
40281 +.method static synthetic access$000(Landroid/telephony/PhoneStateListener;)Landroid/content/Context;
40282 + .registers 2
40284 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
40286 + return-object v0
40287 +.end method
40289 +.method static synthetic access$100(Landroid/telephony/PhoneStateListener;)Ljava/lang/String;
40290 + .registers 2
40292 + iget-object v0, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40294 + return-object v0
40295 +.end method
40297 +.method static synthetic access$200(Landroid/telephony/PhoneStateListener;)I
40298 + .registers 2
40300 + iget v0, p0, Landroid/telephony/PhoneStateListener;->uid:I
40302 + return v0
40303 +.end method
40306 # virtual methods
40307 .method public onCallForwardingIndicatorChanged(Z)V
40308 @@ -134,3 +166,27 @@
40310 return-void
40311 .end method
40313 +.method public setContext(Landroid/content/Context;)V
40314 + .registers 2
40316 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->context:Landroid/content/Context;
40318 + return-void
40319 +.end method
40321 +.method public setPackageName(Ljava/lang/String;)V
40322 + .registers 2
40324 + iput-object p1, p0, Landroid/telephony/PhoneStateListener;->packageName:Ljava/lang/String;
40326 + return-void
40327 +.end method
40329 +.method public setUid(I)V
40330 + .registers 2
40332 + iput p1, p0, Landroid/telephony/PhoneStateListener;->uid:I
40334 + return-void
40335 +.end method
40336 diff -Npru stock-framework/smali/android/telephony/ServiceState.smali ext-framework/smali/android/telephony/ServiceState.smali
40337 --- stock-framework/smali/android/telephony/ServiceState.smali 2012-11-08 09:12:17.462945450 -0600
40338 +++ ext-framework/smali/android/telephony/ServiceState.smali 2012-11-08 09:11:56.946843722 -0600
40339 @@ -668,48 +668,6 @@
40340 return-void
40341 .end method
40343 -.method private setNullState(I)V
40344 - .registers 5
40346 - const/4 v2, 0x0
40348 - const/4 v1, 0x0
40350 - const/4 v0, -0x1
40352 - iput p1, p0, Landroid/telephony/ServiceState;->mState:I
40354 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
40356 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
40358 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
40360 - iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
40362 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
40364 - iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
40366 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
40368 - iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
40370 - iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
40372 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
40374 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
40376 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
40378 - iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
40380 - iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
40382 - return-void
40383 -.end method
40386 # virtual methods
40387 .method protected copyFrom(Landroid/telephony/ServiceState;)V
40388 @@ -1511,6 +1469,48 @@
40389 return-void
40390 .end method
40392 +.method setNullState(I)V
40393 + .registers 5
40395 + const/4 v2, 0x0
40397 + const/4 v1, 0x0
40399 + const/4 v0, -0x1
40401 + iput p1, p0, Landroid/telephony/ServiceState;->mState:I
40403 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mRoaming:Z
40405 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaLong:Ljava/lang/String;
40407 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorAlphaShort:Ljava/lang/String;
40409 + iput-object v2, p0, Landroid/telephony/ServiceState;->mOperatorNumeric:Ljava/lang/String;
40411 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsManualNetworkSelection:Z
40413 + iput v1, p0, Landroid/telephony/ServiceState;->mRadioTechnology:I
40415 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mCssIndicator:Z
40417 + iput v0, p0, Landroid/telephony/ServiceState;->mNetworkId:I
40419 + iput v0, p0, Landroid/telephony/ServiceState;->mSystemId:I
40421 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaRoamingIndicator:I
40423 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaDefaultRoamingIndicator:I
40425 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconIndex:I
40427 + iput v0, p0, Landroid/telephony/ServiceState;->mCdmaEriIconMode:I
40429 + iput-boolean v1, p0, Landroid/telephony/ServiceState;->mIsEmergencyOnly:Z
40431 + return-void
40432 +.end method
40434 .method public setOperatorAlphaLong(Ljava/lang/String;)V
40435 .registers 2
40437 @@ -1560,7 +1560,7 @@
40439 const/4 v0, 0x3
40441 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
40442 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
40444 return-void
40445 .end method
40446 @@ -1570,7 +1570,7 @@
40448 const/4 v0, 0x1
40450 - invoke-direct {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
40451 + invoke-virtual {p0, v0}, Landroid/telephony/ServiceState;->setNullState(I)V
40453 return-void
40454 .end method
40455 diff -Npru stock-framework/smali/android/text/SpannableStringBuilder.smali ext-framework/smali/android/text/SpannableStringBuilder.smali
40456 --- stock-framework/smali/android/text/SpannableStringBuilder.smali 2012-11-08 09:12:17.510945685 -0600
40457 +++ ext-framework/smali/android/text/SpannableStringBuilder.smali 2012-11-08 09:11:56.990843940 -0600
40458 @@ -681,17 +681,17 @@
40460 const/4 v5, 0x1
40462 - if-ge v4, v5, :cond_18f
40463 + if-ge v4, v5, :cond_190
40465 new-instance v4, Ljava/lang/Exception;
40467 - const-string v5, "mGapLength < 1"
40468 + const-string/jumbo v5, "mGapLength < 1"
40470 invoke-direct {v4, v5}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
40472 invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V
40474 - :cond_18f
40475 + :cond_190
40476 move-object/from16 v0, p0
40478 iget-object v4, v0, Landroid/text/SpannableStringBuilder;->mText:[C
40479 @@ -706,7 +706,7 @@
40481 invoke-static {v0, v1, v2, v4, v3}, Landroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
40483 - if-lez v33, :cond_200
40484 + if-lez v33, :cond_201
40486 move-object/from16 v0, p0
40488 @@ -724,21 +724,21 @@
40490 array-length v5, v5
40492 - if-ne v4, v5, :cond_1fe
40493 + if-ne v4, v5, :cond_1ff
40495 const/4 v14, 0x1
40497 - :goto_1b1
40498 + :goto_1b2
40499 const/16 v30, 0x0
40501 - :goto_1b3
40502 + :goto_1b4
40503 move-object/from16 v0, p0
40505 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
40507 move/from16 v0, v30
40509 - if-ge v0, v4, :cond_200
40510 + if-ge v0, v4, :cond_201
40512 move-object/from16 v0, p0
40514 @@ -806,14 +806,14 @@
40516 add-int/lit8 v30, v30, 0x1
40518 - goto :goto_1b3
40519 + goto :goto_1b4
40521 - :cond_1fe
40522 + :cond_1ff
40523 const/4 v14, 0x0
40525 - goto :goto_1b1
40526 + goto :goto_1b2
40528 - :cond_200
40529 + :cond_201
40530 move-object/from16 v0, p0
40532 iget v4, v0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
40533 @@ -826,7 +826,7 @@
40535 instance-of v4, v0, Landroid/text/Spanned;
40537 - if-eqz v4, :cond_26d
40538 + if-eqz v4, :cond_26e
40540 move-object/from16 v35, p3
40542 @@ -846,14 +846,14 @@
40544 const/16 v30, 0x0
40546 - :goto_220
40547 + :goto_221
40548 move-object/from16 v0, v36
40550 array-length v4, v0
40552 move/from16 v0, v30
40554 - if-ge v0, v4, :cond_26d
40555 + if-ge v0, v4, :cond_26e
40557 aget-object v4, v36, v30
40559 @@ -875,20 +875,20 @@
40561 move/from16 v1, p4
40563 - if-ge v0, v1, :cond_23f
40564 + if-ge v0, v1, :cond_240
40566 move/from16 v37, p4
40568 - :cond_23f
40569 + :cond_240
40570 move/from16 v0, v28
40572 move/from16 v1, p5
40574 - if-le v0, v1, :cond_247
40575 + if-le v0, v1, :cond_248
40577 move/from16 v28, p5
40579 - :cond_247
40580 + :cond_248
40581 aget-object v4, v36, v30
40583 move-object/from16 v0, p0
40584 @@ -897,7 +897,7 @@
40586 move-result v4
40588 - if-gez v4, :cond_26a
40589 + if-gez v4, :cond_26b
40591 const/16 v22, 0x0
40593 @@ -923,12 +923,12 @@
40595 invoke-direct/range {v21 .. v26}, Landroid/text/SpannableStringBuilder;->setSpan(ZLjava/lang/Object;III)V
40597 - :cond_26a
40598 + :cond_26b
40599 add-int/lit8 v30, v30, 0x1
40601 - goto :goto_220
40602 + goto :goto_221
40604 - :cond_26d
40605 + :cond_26e
40606 return-void
40607 .end method
40609 @@ -1500,20 +1500,20 @@
40611 const/4 v7, 0x1
40613 - if-ge v6, v7, :cond_3e
40614 + if-ge v6, v7, :cond_3f
40616 new-instance v6, Ljava/lang/Exception;
40618 - const-string v7, "mGapLength < 1"
40619 + const-string/jumbo v7, "mGapLength < 1"
40621 invoke-direct {v6, v7}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
40623 invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
40625 - :cond_3e
40626 + :cond_3f
40627 const/4 v2, 0x0
40629 - :goto_3f
40630 + :goto_40
40631 iget v6, p0, Landroid/text/SpannableStringBuilder;->mSpanCount:I
40633 if-ge v2, v6, :cond_e
40634 @@ -1524,7 +1524,7 @@
40636 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
40638 - if-le v6, v7, :cond_52
40639 + if-le v6, v7, :cond_53
40641 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanStarts:[I
40643 @@ -1534,14 +1534,14 @@
40645 aput v7, v6, v2
40647 - :cond_52
40648 + :cond_53
40649 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
40651 aget v6, v6, v2
40653 iget v7, p0, Landroid/text/SpannableStringBuilder;->mGapStart:I
40655 - if-le v6, v7, :cond_61
40656 + if-le v6, v7, :cond_62
40658 iget-object v6, p0, Landroid/text/SpannableStringBuilder;->mSpanEnds:[I
40660 @@ -1551,10 +1551,10 @@
40662 aput v7, v6, v2
40664 - :cond_61
40665 + :cond_62
40666 add-int/lit8 v2, v2, 0x1
40668 - goto :goto_3f
40669 + goto :goto_40
40670 .end method
40672 .method private sendAfterTextChanged([Landroid/text/TextWatcher;)V
40673 diff -Npru stock-framework/smali/android/view/ViewGroup.smali ext-framework/smali/android/view/ViewGroup.smali
40674 --- stock-framework/smali/android/view/ViewGroup.smali 2012-11-08 09:12:14.358930057 -0600
40675 +++ ext-framework/smali/android/view/ViewGroup.smali 2012-11-08 09:11:53.862828426 -0600
40676 @@ -3365,7 +3365,7 @@
40678 iget-object v4, p0, Landroid/view/ViewGroup;->mFocused:Landroid/view/View;
40680 - if-eqz v4, :cond_23
40681 + if-eqz v4, :cond_24
40683 invoke-static {p1}, Landroid/view/ViewGroup;->debugIndent(I)Ljava/lang/String;
40685 @@ -3379,7 +3379,7 @@
40687 move-result-object v4
40689 - const-string v5, "mFocused"
40690 + const-string/jumbo v5, "mFocused"
40692 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40694 @@ -3393,10 +3393,10 @@
40696 invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
40698 - :cond_23
40699 + :cond_24
40700 iget v4, p0, Landroid/view/ViewGroup;->mChildrenCount:I
40702 - if-eqz v4, :cond_44
40703 + if-eqz v4, :cond_45
40705 invoke-static {p1}, Landroid/view/ViewGroup;->debugIndent(I)Ljava/lang/String;
40707 @@ -3424,13 +3424,13 @@
40709 invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
40711 - :cond_44
40712 + :cond_45
40713 iget v1, p0, Landroid/view/ViewGroup;->mChildrenCount:I
40715 const/4 v2, 0x0
40717 - :goto_47
40718 - if-ge v2, v1, :cond_55
40719 + :goto_48
40720 + if-ge v2, v1, :cond_56
40722 iget-object v4, p0, Landroid/view/ViewGroup;->mChildren:[Landroid/view/View;
40724 @@ -3442,12 +3442,12 @@
40726 add-int/lit8 v2, v2, 0x1
40728 - goto :goto_47
40729 + goto :goto_48
40731 - :cond_55
40732 + :cond_56
40733 iget v4, p0, Landroid/view/ViewGroup;->mChildrenCount:I
40735 - if-eqz v4, :cond_76
40736 + if-eqz v4, :cond_77
40738 invoke-static {p1}, Landroid/view/ViewGroup;->debugIndent(I)Ljava/lang/String;
40740 @@ -3475,7 +3475,7 @@
40742 invoke-static {v4, v3}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
40744 - :cond_76
40745 + :cond_77
40746 return-void
40747 .end method
40749 diff -Npru stock-framework/smali/com/android/internal/telephony/cdma/CDMAPhone.smali ext-framework/smali/com/android/internal/telephony/cdma/CDMAPhone.smali
40750 --- stock-framework/smali/com/android/internal/telephony/cdma/CDMAPhone.smali 2012-11-08 09:12:18.674951458 -0600
40751 +++ ext-framework/smali/com/android/internal/telephony/cdma/CDMAPhone.smali 2012-11-08 09:11:56.558841792 -0600
40752 @@ -3536,7 +3536,7 @@
40753 return-void
40754 .end method
40756 -.method notifyLocationChanged()V
40757 +.method public notifyLocationChanged()V
40758 .registers 2
40760 iget-object v0, p0, Lcom/android/internal/telephony/cdma/CDMAPhone;->mNotifier:Lcom/android/internal/telephony/PhoneNotifier;
40761 diff -Npru stock-framework/smali/com/android/internal/telephony/cdma/CdmaServiceStateTracker.smali ext-framework/smali/com/android/internal/telephony/cdma/CdmaServiceStateTracker.smali
40762 --- stock-framework/smali/com/android/internal/telephony/cdma/CdmaServiceStateTracker.smali 2012-11-08 09:12:18.706951618 -0600
40763 +++ ext-framework/smali/com/android/internal/telephony/cdma/CdmaServiceStateTracker.smali 2012-11-08 09:11:58.250850180 -0600
40764 @@ -46,6 +46,8 @@
40766 .field private mCdmaSSM:Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
40768 +.field private mContext:Landroid/content/Context;
40770 .field protected mCurPlmn:Ljava/lang/String;
40772 .field mCurrentOtaspMode:I
40773 @@ -102,6 +104,8 @@
40775 .field newCellLoc:Landroid/telephony/cdma/CdmaCellLocation;
40777 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
40779 .field phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
40782 @@ -261,7 +265,7 @@
40784 move-result v2
40786 - if-nez v2, :cond_116
40787 + if-nez v2, :cond_130
40789 move v2, v3
40791 @@ -369,12 +373,36 @@
40793 iput-boolean v3, p0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNeedToRegForRuimLoaded:Z
40795 + invoke-virtual {p1}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getContext()Landroid/content/Context;
40797 + move-result-object v2
40799 + iput-object v2, p0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mContext:Landroid/content/Context;
40801 + new-instance v2, Landroid/privacy/PrivacySettingsManager;
40803 + iget-object v3, p0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mContext:Landroid/content/Context;
40805 + const-string/jumbo v4, "privacy"
40807 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
40809 + move-result-object v4
40811 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
40813 + move-result-object v4
40815 + invoke-direct {v2, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
40817 + iput-object v2, p0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
40819 return-void
40821 - :cond_116
40822 + :cond_130
40823 move v2, v4
40825 - goto :goto_a5
40826 + goto/16 :goto_a5
40827 .end method
40829 .method static synthetic access$000(Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;)V
40830 @@ -3897,7 +3925,7 @@
40831 .end method
40833 .method public handleMessage(Landroid/os/Message;)V
40834 - .registers 22
40835 + .registers 24
40837 move-object/from16 v0, p0
40839 @@ -3911,9 +3939,9 @@
40841 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
40843 - const-string v18, "Received message "
40844 + const-string v20, "Received message "
40846 - move-object/from16 v0, v18
40847 + move-object/from16 v0, v20
40849 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40851 @@ -3925,9 +3953,9 @@
40853 move-result-object v3
40855 - const-string v18, "["
40856 + const-string v20, "["
40858 - move-object/from16 v0, v18
40859 + move-object/from16 v0, v20
40861 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40863 @@ -3937,25 +3965,25 @@
40865 iget v0, v0, Landroid/os/Message;->what:I
40867 - move/from16 v18, v0
40868 + move/from16 v20, v0
40870 - move/from16 v0, v18
40871 + move/from16 v0, v20
40873 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
40875 move-result-object v3
40877 - const-string v18, "]"
40878 + const-string v20, "]"
40880 - move-object/from16 v0, v18
40881 + move-object/from16 v0, v20
40883 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40885 move-result-object v3
40887 - const-string v18, " while being destroyed. Ignoring."
40888 + const-string v20, " while being destroyed. Ignoring."
40890 - move-object/from16 v0, v18
40891 + move-object/from16 v0, v20
40893 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
40895 @@ -3978,7 +4006,7 @@
40897 iget v3, v0, Landroid/os/Message;->what:I
40899 - packed-switch v3, :pswitch_data_322
40900 + packed-switch v3, :pswitch_data_386
40902 :pswitch_50
40903 invoke-super/range {p0 .. p1}, Lcom/android/internal/telephony/ServiceStateTracker;->handleMessage(Landroid/os/Message;)V
40904 @@ -4013,15 +4041,15 @@
40906 iget-object v3, v3, Lcom/android/internal/telephony/cdma/CDMAPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
40908 - const/16 v18, 0x1b
40909 + const/16 v20, 0x1b
40911 - const/16 v19, 0x0
40912 + const/16 v21, 0x0
40914 move-object/from16 v0, p0
40916 - move/from16 v1, v18
40917 + move/from16 v1, v20
40919 - move-object/from16 v2, v19
40920 + move-object/from16 v2, v21
40922 invoke-virtual {v3, v0, v1, v2}, Lcom/android/internal/telephony/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
40924 @@ -4040,9 +4068,9 @@
40926 move-result v3
40928 - const/16 v18, 0x1
40929 + const/16 v20, 0x1
40931 - move/from16 v0, v18
40932 + move/from16 v0, v20
40934 if-ne v3, v0, :cond_a0
40936 @@ -4088,9 +4116,9 @@
40938 move-result-object v3
40940 - sget-object v18, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState;
40941 + sget-object v20, Lcom/android/internal/telephony/CommandsInterface$RadioState;->RADIO_ON:Lcom/android/internal/telephony/CommandsInterface$RadioState;
40943 - move-object/from16 v0, v18
40944 + move-object/from16 v0, v20
40946 if-ne v3, v0, :cond_cd
40948 @@ -4158,15 +4186,15 @@
40950 iget-object v3, v9, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
40952 - if-nez v3, :cond_174
40953 + if-nez v3, :cond_19e
40955 iget-object v3, v9, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
40957 check-cast v3, [Ljava/lang/String;
40959 - move-object/from16 v17, v3
40960 + move-object/from16 v18, v3
40962 - check-cast v17, [Ljava/lang/String;
40963 + check-cast v18, [Ljava/lang/String;
40965 const/4 v4, -0x1
40967 @@ -4178,26 +4206,26 @@
40969 const/4 v8, -0x1
40971 - move-object/from16 v0, v17
40972 + move-object/from16 v0, v18
40974 array-length v3, v0
40976 - const/16 v18, 0x9
40977 + const/16 v20, 0x9
40979 - move/from16 v0, v18
40980 + move/from16 v0, v20
40982 if-le v3, v0, :cond_166
40984 const/4 v3, 0x4
40986 :try_start_11d
40987 - aget-object v3, v17, v3
40988 + aget-object v3, v18, v3
40990 if-eqz v3, :cond_128
40992 const/4 v3, 0x4
40994 - aget-object v3, v17, v3
40995 + aget-object v3, v18, v3
40997 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
40999 @@ -4206,13 +4234,13 @@
41000 :cond_128
41001 const/4 v3, 0x5
41003 - aget-object v3, v17, v3
41004 + aget-object v3, v18, v3
41006 if-eqz v3, :cond_134
41008 const/4 v3, 0x5
41010 - aget-object v3, v17, v3
41011 + aget-object v3, v18, v3
41013 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41015 @@ -4221,13 +4249,13 @@
41016 :cond_134
41017 const/4 v3, 0x6
41019 - aget-object v3, v17, v3
41020 + aget-object v3, v18, v3
41022 if-eqz v3, :cond_140
41024 const/4 v3, 0x6
41026 - aget-object v3, v17, v3
41027 + aget-object v3, v18, v3
41029 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41031 @@ -4245,13 +4273,13 @@
41032 :cond_14a
41033 const/16 v3, 0x8
41035 - aget-object v3, v17, v3
41036 + aget-object v3, v18, v3
41038 if-eqz v3, :cond_158
41040 const/16 v3, 0x8
41042 - aget-object v3, v17, v3
41043 + aget-object v3, v18, v3
41045 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41047 @@ -4260,17 +4288,17 @@
41048 :cond_158
41049 const/16 v3, 0x9
41051 - aget-object v3, v17, v3
41052 + aget-object v3, v18, v3
41054 if-eqz v3, :cond_166
41056 const/16 v3, 0x9
41058 - aget-object v3, v17, v3
41059 + aget-object v3, v18, v3
41061 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41062 :try_end_165
41063 - .catch Ljava/lang/NumberFormatException; {:try_start_11d .. :try_end_165} :catch_179
41064 + .catch Ljava/lang/NumberFormatException; {:try_start_11d .. :try_end_165} :catch_1a3
41066 move-result v8
41068 @@ -4278,31 +4306,74 @@
41069 :goto_166
41070 move-object/from16 v0, p0
41072 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
41074 + move-object/from16 v0, p0
41076 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mContext:Landroid/content/Context;
41078 + move-object/from16 v20, v0
41080 + invoke-virtual/range {v20 .. v20}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
41082 + move-result-object v20
41084 + const/16 v21, 0x0
41086 + move-object/from16 v0, v20
41088 + move/from16 v1, v21
41090 + invoke-virtual {v3, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
41092 + move-result-object v17
41094 + move-object/from16 v0, p0
41096 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
41098 + if-eqz v3, :cond_1bf
41100 + if-eqz v17, :cond_1bf
41102 + invoke-virtual/range {v17 .. v17}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
41104 + move-result v3
41106 + const/16 v20, 0x1
41108 + move/from16 v0, v20
41110 + if-ne v3, v0, :cond_1bf
41112 + move-object/from16 v0, p0
41114 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cellLoc:Landroid/telephony/cdma/CdmaCellLocation;
41116 - invoke-virtual/range {v3 .. v8}, Landroid/telephony/cdma/CdmaCellLocation;->setCellLocationData(IIIII)V
41117 + invoke-virtual {v3}, Landroid/telephony/cdma/CdmaCellLocation;->setStateInvalid()V
41119 + :goto_197
41120 move-object/from16 v0, p0
41122 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
41124 invoke-virtual {v3}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyLocationChanged()V
41126 - :cond_174
41127 + :cond_19e
41128 invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->disableSingleLocationUpdate()V
41130 goto/16 :goto_48
41132 - :catch_179
41133 + :catch_1a3
41134 move-exception v11
41136 new-instance v3, Ljava/lang/StringBuilder;
41138 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
41140 - const-string v18, "error parsing cell location data: "
41141 + const-string v20, "error parsing cell location data: "
41143 - move-object/from16 v0, v18
41144 + move-object/from16 v0, v20
41146 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41148 @@ -4322,7 +4393,67 @@
41150 goto :goto_166
41152 - :pswitch_195
41153 + :cond_1bf
41154 + move-object/from16 v0, p0
41156 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
41158 + if-eqz v3, :cond_1f2
41160 + if-eqz v17, :cond_1f2
41162 + invoke-virtual/range {v17 .. v17}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
41164 + move-result v3
41166 + const/16 v20, 0x3
41168 + move/from16 v0, v20
41170 + if-ne v3, v0, :cond_1f2
41172 + new-instance v19, Ljava/util/Random;
41174 + invoke-direct/range {v19 .. v19}, Ljava/util/Random;-><init>()V
41176 + move-object/from16 v0, p0
41178 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cellLoc:Landroid/telephony/cdma/CdmaCellLocation;
41180 + invoke-virtual/range {v19 .. v19}, Ljava/util/Random;->nextInt()I
41182 + move-result v4
41184 + invoke-virtual/range {v19 .. v19}, Ljava/util/Random;->nextInt()I
41186 + move-result v5
41188 + invoke-virtual/range {v19 .. v19}, Ljava/util/Random;->nextInt()I
41190 + move-result v6
41192 + invoke-virtual/range {v19 .. v19}, Ljava/util/Random;->nextInt()I
41194 + move-result v7
41196 + invoke-virtual/range {v19 .. v19}, Ljava/util/Random;->nextInt()I
41198 + move-result v8
41200 + invoke-virtual/range {v3 .. v8}, Landroid/telephony/cdma/CdmaCellLocation;->setCellLocationData(IIIII)V
41202 + goto :goto_197
41204 + :cond_1f2
41205 + move-object/from16 v0, p0
41207 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cellLoc:Landroid/telephony/cdma/CdmaCellLocation;
41209 + invoke-virtual/range {v3 .. v8}, Landroid/telephony/cdma/CdmaCellLocation;->setCellLocationData(IIIII)V
41211 + goto :goto_197
41213 + :pswitch_1fa
41214 move-object/from16 v0, p1
41216 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41217 @@ -4339,7 +4470,7 @@
41219 goto/16 :goto_48
41221 - :pswitch_1a6
41222 + :pswitch_20b
41223 move-object/from16 v0, p1
41225 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41226 @@ -4358,15 +4489,15 @@
41228 check-cast v10, [Ljava/lang/String;
41230 - if-eqz v10, :cond_222
41231 + if-eqz v10, :cond_287
41233 array-length v3, v10
41235 - const/16 v18, 0x5
41236 + const/16 v20, 0x5
41238 - move/from16 v0, v18
41239 + move/from16 v0, v20
41241 - if-lt v3, v0, :cond_222
41242 + if-lt v3, v0, :cond_287
41244 const/4 v3, 0x0
41246 @@ -4380,13 +4511,13 @@
41248 aget-object v3, v10, v3
41250 - const/16 v18, 0x2
41251 + const/16 v20, 0x2
41253 - aget-object v18, v10, v18
41254 + aget-object v20, v10, v20
41256 move-object/from16 v0, p0
41258 - move-object/from16 v1, v18
41259 + move-object/from16 v1, v20
41261 invoke-virtual {v0, v3, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->parseSidNid(Ljava/lang/String;Ljava/lang/String;)V
41263 @@ -4410,9 +4541,9 @@
41265 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
41267 - const-string v18, "GET_CDMA_SUBSCRIPTION: MDN="
41268 + const-string v20, "GET_CDMA_SUBSCRIPTION: MDN="
41270 - move-object/from16 v0, v18
41271 + move-object/from16 v0, v20
41273 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41275 @@ -4422,9 +4553,9 @@
41277 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mMdn:Ljava/lang/String;
41279 - move-object/from16 v18, v0
41280 + move-object/from16 v20, v0
41282 - move-object/from16 v0, v18
41283 + move-object/from16 v0, v20
41285 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41287 @@ -4454,26 +4585,26 @@
41289 move-result-object v3
41291 - const-string v18, "IMSI"
41292 + const-string v20, "IMSI"
41294 - const/16 v19, 0x0
41295 + const/16 v21, 0x0
41297 - move-object/from16 v0, v18
41298 + move-object/from16 v0, v20
41300 - move-object/from16 v1, v19
41301 + move-object/from16 v1, v21
41303 invoke-virtual {v3, v0, v1}, Lcom/android/internal/telephony/IccCard;->broadcastIccStateChangedIntent(Ljava/lang/String;Ljava/lang/String;)V
41305 goto/16 :goto_48
41307 - :cond_222
41308 + :cond_287
41309 new-instance v3, Ljava/lang/StringBuilder;
41311 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
41313 - const-string v18, "GET_CDMA_SUBSCRIPTION: error parsing cdmaSubscription params num="
41314 + const-string v20, "GET_CDMA_SUBSCRIPTION: error parsing cdmaSubscription params num="
41316 - move-object/from16 v0, v18
41317 + move-object/from16 v0, v20
41319 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
41321 @@ -4481,9 +4612,9 @@
41323 array-length v0, v10
41325 - move/from16 v18, v0
41326 + move/from16 v20, v0
41328 - move/from16 v0, v18
41329 + move/from16 v0, v20
41331 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
41333 @@ -4499,28 +4630,28 @@
41335 goto/16 :goto_48
41337 - :pswitch_243
41338 + :pswitch_2a8
41339 move-object/from16 v0, p0
41341 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
41343 - const/16 v18, 0x3
41344 + const/16 v20, 0x3
41346 move-object/from16 v0, p0
41348 - move/from16 v1, v18
41349 + move/from16 v1, v20
41351 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
41353 - move-result-object v18
41354 + move-result-object v20
41356 - move-object/from16 v0, v18
41357 + move-object/from16 v0, v20
41359 invoke-interface {v3, v0}, Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
41361 goto/16 :goto_48
41363 - :pswitch_258
41364 + :pswitch_2bd
41365 move-object/from16 v0, p1
41367 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41368 @@ -4533,9 +4664,9 @@
41370 check-cast v3, [Ljava/lang/Object;
41372 - const/16 v18, 0x0
41373 + const/16 v20, 0x0
41375 - aget-object v15, v3, v18
41376 + aget-object v15, v3, v20
41378 check-cast v15, Ljava/lang/String;
41380 @@ -4545,9 +4676,9 @@
41382 check-cast v3, [Ljava/lang/Object;
41384 - const/16 v18, 0x1
41385 + const/16 v20, 0x1
41387 - aget-object v3, v3, v18
41388 + aget-object v3, v3, v20
41390 check-cast v3, Ljava/lang/Long;
41392 @@ -4561,7 +4692,7 @@
41394 goto/16 :goto_48
41396 - :pswitch_281
41397 + :pswitch_2e6
41398 move-object/from16 v0, p1
41400 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41401 @@ -4580,12 +4711,12 @@
41403 goto/16 :goto_48
41405 - :pswitch_293
41406 + :pswitch_2f8
41407 invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->updateSpnDisplay()V
41409 goto/16 :goto_48
41411 - :pswitch_298
41412 + :pswitch_2fd
41413 move-object/from16 v0, p1
41415 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41416 @@ -4600,27 +4731,27 @@
41418 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
41420 - const/16 v18, 0x1f
41421 + const/16 v20, 0x1f
41423 - const/16 v19, 0x0
41424 + const/16 v21, 0x0
41426 move-object/from16 v0, p0
41428 - move/from16 v1, v18
41429 + move/from16 v1, v20
41431 - move-object/from16 v2, v19
41432 + move-object/from16 v2, v21
41434 invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
41436 - move-result-object v18
41437 + move-result-object v20
41439 - move-object/from16 v0, v18
41440 + move-object/from16 v0, v20
41442 invoke-interface {v3, v0}, Lcom/android/internal/telephony/CommandsInterface;->getVoiceRegistrationState(Landroid/os/Message;)V
41444 goto/16 :goto_48
41446 - :pswitch_2bb
41447 + :pswitch_320
41448 const-string v3, "[CdmaServiceStateTracker] ERI file has been loaded, repolling."
41450 move-object/from16 v0, p0
41451 @@ -4631,7 +4762,7 @@
41453 goto/16 :goto_48
41455 - :pswitch_2c7
41456 + :pswitch_32c
41457 move-object/from16 v0, p1
41459 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41460 @@ -4658,7 +4789,7 @@
41462 move/from16 v0, v16
41464 - if-eq v0, v3, :cond_2e7
41465 + if-eq v0, v3, :cond_34c
41467 const/16 v3, 0xa
41469 @@ -4666,7 +4797,7 @@
41471 if-ne v0, v3, :cond_48
41473 - :cond_2e7
41474 + :cond_34c
41475 const-string v3, "EVENT_OTA_PROVISION_STATUS_CHANGE: Complete, Reload MDN"
41477 move-object/from16 v0, p0
41478 @@ -4677,23 +4808,23 @@
41480 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
41482 - const/16 v18, 0x22
41483 + const/16 v20, 0x22
41485 move-object/from16 v0, p0
41487 - move/from16 v1, v18
41488 + move/from16 v1, v20
41490 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
41492 - move-result-object v18
41493 + move-result-object v20
41495 - move-object/from16 v0, v18
41496 + move-object/from16 v0, v20
41498 invoke-interface {v3, v0}, Lcom/android/internal/telephony/CommandsInterface;->getCDMASubscription(Landroid/os/Message;)V
41500 goto/16 :goto_48
41502 - :pswitch_303
41503 + :pswitch_368
41504 move-object/from16 v0, p1
41506 iget-object v9, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
41507 @@ -4726,9 +4857,7 @@
41509 goto/16 :goto_48
41511 - nop
41513 - :pswitch_data_322
41514 + :pswitch_data_386
41515 .packed-switch 0x1
41516 :pswitch_af
41517 :pswitch_50
41518 @@ -4739,37 +4868,37 @@
41519 :pswitch_50
41520 :pswitch_50
41521 :pswitch_50
41522 - :pswitch_243
41523 - :pswitch_258
41524 - :pswitch_281
41525 + :pswitch_2a8
41526 + :pswitch_2bd
41527 + :pswitch_2e6
41528 :pswitch_50
41529 :pswitch_50
41530 :pswitch_50
41531 :pswitch_50
41532 :pswitch_50
41533 - :pswitch_298
41534 + :pswitch_2fd
41535 :pswitch_50
41536 :pswitch_50
41537 :pswitch_50
41538 :pswitch_50
41539 :pswitch_50
41540 - :pswitch_195
41541 - :pswitch_195
41542 + :pswitch_1fa
41543 + :pswitch_1fa
41544 :pswitch_62
41545 - :pswitch_293
41546 + :pswitch_2f8
41547 :pswitch_50
41548 :pswitch_50
41549 :pswitch_d5
41550 :pswitch_f8
41551 :pswitch_50
41552 :pswitch_50
41553 - :pswitch_1a6
41554 + :pswitch_20b
41555 :pswitch_ab
41556 - :pswitch_2bb
41557 - :pswitch_2c7
41558 + :pswitch_320
41559 + :pswitch_32c
41560 :pswitch_50
41561 :pswitch_54
41562 - :pswitch_303
41563 + :pswitch_368
41564 .end packed-switch
41565 .end method
41567 @@ -5202,9 +5331,33 @@
41568 .end method
41570 .method protected handlePollStateResultMessage(ILandroid/os/AsyncResult;)V
41571 - .registers 25
41572 + .registers 27
41574 + move-object/from16 v0, p0
41576 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
41578 - packed-switch p1, :pswitch_data_26e
41579 + move-object/from16 v0, p0
41581 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mContext:Landroid/content/Context;
41583 + move-object/from16 v21, v0
41585 + invoke-virtual/range {v21 .. v21}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
41587 + move-result-object v21
41589 + const/16 v22, 0x0
41591 + move-object/from16 v0, v21
41593 + move/from16 v1, v22
41595 + invoke-virtual {v3, v0, v1}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
41597 + move-result-object v17
41599 + packed-switch p1, :pswitch_data_31c
41601 const-string v3, "handlePollStateResultMessage: RIL response handle in wrong phone! Expected CDMA RIL request and get GSM RIL request."
41603 @@ -5212,20 +5365,20 @@
41605 invoke-virtual {v0, v3}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->loge(Ljava/lang/String;)V
41607 - :cond_a
41608 - :goto_a
41609 + :cond_22
41610 + :goto_22
41611 return-void
41613 - :pswitch_b
41614 + :pswitch_23
41615 move-object/from16 v0, p2
41617 iget-object v3, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
41619 check-cast v3, [Ljava/lang/String;
41621 - move-object/from16 v17, v3
41622 + move-object/from16 v18, v3
41624 - check-cast v17, [Ljava/lang/String;
41625 + check-cast v18, [Ljava/lang/String;
41627 const/4 v15, 0x4
41629 @@ -5245,215 +5398,215 @@
41631 const/16 v16, -0x1
41633 - const/16 v18, 0x0
41634 + const/16 v19, 0x0
41636 const/4 v10, 0x0
41638 const/4 v14, 0x0
41640 - move-object/from16 v0, v17
41641 + move-object/from16 v0, v18
41643 array-length v3, v0
41645 - const/16 v19, 0xe
41646 + const/16 v21, 0xe
41648 - move/from16 v0, v19
41649 + move/from16 v0, v21
41651 - if-lt v3, v0, :cond_180
41652 + if-lt v3, v0, :cond_1aa
41654 const/4 v3, 0x0
41656 - :try_start_31
41657 - aget-object v3, v17, v3
41658 + :try_start_49
41659 + aget-object v3, v18, v3
41661 - if-eqz v3, :cond_3c
41662 + if-eqz v3, :cond_54
41664 const/4 v3, 0x0
41666 - aget-object v3, v17, v3
41667 + aget-object v3, v18, v3
41669 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41671 move-result v15
41673 - :cond_3c
41674 + :cond_54
41675 const/4 v3, 0x3
41677 - aget-object v3, v17, v3
41678 + aget-object v3, v18, v3
41680 - if-eqz v3, :cond_48
41681 + if-eqz v3, :cond_60
41683 const/4 v3, 0x3
41685 - aget-object v3, v17, v3
41686 + aget-object v3, v18, v3
41688 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41690 move-result v13
41692 - :cond_48
41693 + :cond_60
41694 const/4 v3, 0x4
41696 - aget-object v3, v17, v3
41697 + aget-object v3, v18, v3
41699 - if-eqz v3, :cond_54
41700 + if-eqz v3, :cond_6c
41702 const/4 v3, 0x4
41704 - aget-object v3, v17, v3
41705 + aget-object v3, v18, v3
41707 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41709 move-result v4
41711 - :cond_54
41712 + :cond_6c
41713 const/4 v3, 0x5
41715 - aget-object v3, v17, v3
41716 + aget-object v3, v18, v3
41718 - if-eqz v3, :cond_60
41719 + if-eqz v3, :cond_78
41721 const/4 v3, 0x5
41723 - aget-object v3, v17, v3
41724 + aget-object v3, v18, v3
41726 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41728 move-result v5
41730 - :cond_60
41731 + :cond_78
41732 const/4 v3, 0x6
41734 - aget-object v3, v17, v3
41735 + aget-object v3, v18, v3
41737 - if-eqz v3, :cond_6c
41738 + if-eqz v3, :cond_84
41740 const/4 v3, 0x6
41742 - aget-object v3, v17, v3
41743 + aget-object v3, v18, v3
41745 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41747 move-result v6
41749 - :cond_6c
41750 - if-nez v5, :cond_76
41751 + :cond_84
41752 + if-nez v5, :cond_8e
41754 - if-nez v6, :cond_76
41755 + if-nez v6, :cond_8e
41757 const v5, 0x7fffffff
41759 const v6, 0x7fffffff
41761 - :cond_76
41762 + :cond_8e
41763 const/4 v3, 0x7
41765 - aget-object v3, v17, v3
41766 + aget-object v3, v18, v3
41768 - if-eqz v3, :cond_82
41769 + if-eqz v3, :cond_9a
41771 const/4 v3, 0x7
41773 - aget-object v3, v17, v3
41774 + aget-object v3, v18, v3
41776 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41778 move-result v9
41780 - :cond_82
41781 + :cond_9a
41782 const/16 v3, 0x8
41784 - aget-object v3, v17, v3
41785 + aget-object v3, v18, v3
41787 - if-eqz v3, :cond_90
41788 + if-eqz v3, :cond_a8
41790 const/16 v3, 0x8
41792 - aget-object v3, v17, v3
41793 + aget-object v3, v18, v3
41795 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41797 move-result v7
41799 - :cond_90
41800 + :cond_a8
41801 const/16 v3, 0x9
41803 - aget-object v3, v17, v3
41804 + aget-object v3, v18, v3
41806 - if-eqz v3, :cond_9e
41807 + if-eqz v3, :cond_b6
41809 const/16 v3, 0x9
41811 - aget-object v3, v17, v3
41812 + aget-object v3, v18, v3
41814 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41816 move-result v8
41818 - :cond_9e
41819 + :cond_b6
41820 const/16 v3, 0xa
41822 - aget-object v3, v17, v3
41823 + aget-object v3, v18, v3
41825 - if-eqz v3, :cond_ac
41826 + if-eqz v3, :cond_c4
41828 const/16 v3, 0xa
41830 - aget-object v3, v17, v3
41831 + aget-object v3, v18, v3
41833 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41835 move-result v16
41837 - :cond_ac
41838 + :cond_c4
41839 const/16 v3, 0xb
41841 - aget-object v3, v17, v3
41842 + aget-object v3, v18, v3
41844 - if-eqz v3, :cond_ba
41845 + if-eqz v3, :cond_d2
41847 const/16 v3, 0xb
41849 - aget-object v3, v17, v3
41850 + aget-object v3, v18, v3
41852 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41854 - move-result v18
41855 + move-result v19
41857 - :cond_ba
41858 + :cond_d2
41859 const/16 v3, 0xc
41861 - aget-object v3, v17, v3
41862 + aget-object v3, v18, v3
41864 - if-eqz v3, :cond_c8
41865 + if-eqz v3, :cond_e0
41867 const/16 v3, 0xc
41869 - aget-object v3, v17, v3
41870 + aget-object v3, v18, v3
41872 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41874 move-result v10
41876 - :cond_c8
41877 + :cond_e0
41878 const/16 v3, 0xd
41880 - aget-object v3, v17, v3
41881 + aget-object v3, v18, v3
41883 - if-eqz v3, :cond_d6
41884 + if-eqz v3, :cond_ee
41886 const/16 v3, 0xd
41888 - aget-object v3, v17, v3
41889 + aget-object v3, v18, v3
41891 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
41892 - :try_end_d5
41893 - .catch Ljava/lang/NumberFormatException; {:try_start_31 .. :try_end_d5} :catch_163
41894 + :try_end_ed
41895 + .catch Ljava/lang/NumberFormatException; {:try_start_49 .. :try_end_ed} :catch_18d
41897 move-result v14
41899 - :cond_d6
41900 - :goto_d6
41901 + :cond_ee
41902 + :goto_ee
41903 move-object/from16 v0, p0
41905 iput v15, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationState:I
41906 @@ -5464,11 +5617,11 @@
41908 move-result v3
41910 - if-eqz v3, :cond_1a6
41911 + if-eqz v3, :cond_1d0
41913 const/16 v3, 0xa
41915 - aget-object v3, v17, v3
41916 + aget-object v3, v18, v3
41918 move-object/from16 v0, p0
41920 @@ -5476,11 +5629,11 @@
41922 move-result v3
41924 - if-nez v3, :cond_1a6
41925 + if-nez v3, :cond_1d0
41927 const/4 v3, 0x1
41929 - :goto_ef
41930 + :goto_107
41931 move-object/from16 v0, p0
41933 iput-boolean v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mCdmaRoaming:Z
41934 @@ -5493,9 +5646,9 @@
41936 invoke-virtual {v0, v15}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->regCodeToServiceState(I)I
41938 - move-result v19
41939 + move-result v21
41941 - move/from16 v0, v19
41942 + move/from16 v0, v21
41944 invoke-virtual {v3, v0}, Landroid/telephony/ServiceState;->setState(I)V
41946 @@ -5521,11 +5674,11 @@
41948 iput v0, v1, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRoamingIndicator:I
41950 - if-nez v18, :cond_1a9
41951 + if-nez v19, :cond_1d3
41953 const/4 v3, 0x0
41955 - :goto_11e
41956 + :goto_136
41957 move-object/from16 v0, p0
41959 iput-boolean v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mIsInPrl:Z
41960 @@ -5536,11 +5689,30 @@
41962 move-object/from16 v0, p0
41964 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
41966 + if-eqz v3, :cond_1d6
41968 + if-eqz v17, :cond_1d6
41970 + invoke-virtual/range {v17 .. v17}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
41972 + move-result v3
41974 + const/16 v21, 0x1
41976 + move/from16 v0, v21
41978 + if-ne v3, v0, :cond_1d6
41980 + move-object/from16 v0, p0
41982 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newCellLoc:Landroid/telephony/cdma/CdmaCellLocation;
41984 - invoke-virtual/range {v3 .. v8}, Landroid/telephony/cdma/CdmaCellLocation;->setCellLocationData(IIIII)V
41985 + invoke-virtual {v3}, Landroid/telephony/cdma/CdmaCellLocation;->setStateInvalid()V
41987 - if-nez v14, :cond_1ac
41988 + :goto_157
41989 + if-nez v14, :cond_213
41991 const-string v3, "General"
41993 @@ -5548,24 +5720,24 @@
41995 iput-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationDeniedReason:Ljava/lang/String;
41997 - :goto_135
41998 + :goto_15f
41999 move-object/from16 v0, p0
42001 iget v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationState:I
42003 - const/16 v19, 0x3
42004 + const/16 v21, 0x3
42006 - move/from16 v0, v19
42007 + move/from16 v0, v21
42009 - if-ne v3, v0, :cond_a
42010 + if-ne v3, v0, :cond_22
42012 new-instance v3, Ljava/lang/StringBuilder;
42014 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
42016 - const-string v19, "Registration denied, "
42017 + const-string v21, "Registration denied, "
42019 - move-object/from16 v0, v19
42020 + move-object/from16 v0, v21
42022 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42024 @@ -5575,9 +5747,9 @@
42026 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationDeniedReason:Ljava/lang/String;
42028 - move-object/from16 v19, v0
42029 + move-object/from16 v21, v0
42031 - move-object/from16 v0, v19
42032 + move-object/from16 v0, v21
42034 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42036 @@ -5591,18 +5763,18 @@
42038 invoke-virtual {v0, v3}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->log(Ljava/lang/String;)V
42040 - goto/16 :goto_a
42041 + goto/16 :goto_22
42043 - :catch_163
42044 + :catch_18d
42045 move-exception v11
42047 new-instance v3, Ljava/lang/StringBuilder;
42049 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
42051 - const-string v19, "EVENT_POLL_STATE_REGISTRATION_CDMA: error parsing: "
42052 + const-string v21, "EVENT_POLL_STATE_REGISTRATION_CDMA: error parsing: "
42054 - move-object/from16 v0, v19
42055 + move-object/from16 v0, v21
42057 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42059 @@ -5620,180 +5792,240 @@
42061 invoke-virtual {v0, v3}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->loge(Ljava/lang/String;)V
42063 - goto/16 :goto_d6
42064 + goto/16 :goto_ee
42066 - :cond_180
42067 + :cond_1aa
42068 new-instance v3, Ljava/lang/RuntimeException;
42070 - new-instance v19, Ljava/lang/StringBuilder;
42071 + new-instance v21, Ljava/lang/StringBuilder;
42073 - invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;-><init>()V
42074 + invoke-direct/range {v21 .. v21}, Ljava/lang/StringBuilder;-><init>()V
42076 - const-string v20, "Warning! Wrong number of parameters returned from RIL_REQUEST_REGISTRATION_STATE: expected 14 or more strings and got "
42077 + const-string v22, "Warning! Wrong number of parameters returned from RIL_REQUEST_REGISTRATION_STATE: expected 14 or more strings and got "
42079 - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42080 + invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42082 - move-result-object v19
42083 + move-result-object v21
42085 - move-object/from16 v0, v17
42086 + move-object/from16 v0, v18
42088 array-length v0, v0
42090 - move/from16 v20, v0
42091 + move/from16 v22, v0
42093 - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
42094 + invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
42096 - move-result-object v19
42097 + move-result-object v21
42099 - const-string v20, " strings"
42100 + const-string v22, " strings"
42102 - invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42103 + invoke-virtual/range {v21 .. v22}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42105 - move-result-object v19
42106 + move-result-object v21
42108 - invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42109 + invoke-virtual/range {v21 .. v21}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42111 - move-result-object v19
42112 + move-result-object v21
42114 - move-object/from16 v0, v19
42115 + move-object/from16 v0, v21
42117 invoke-direct {v3, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
42119 throw v3
42121 - :cond_1a6
42122 + :cond_1d0
42123 const/4 v3, 0x0
42125 - goto/16 :goto_ef
42126 + goto/16 :goto_107
42128 - :cond_1a9
42129 + :cond_1d3
42130 const/4 v3, 0x1
42132 - goto/16 :goto_11e
42133 + goto/16 :goto_136
42135 - :cond_1ac
42136 - const/4 v3, 0x1
42137 + :cond_1d6
42138 + move-object/from16 v0, p0
42140 - if-ne v14, v3, :cond_1b6
42141 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
42143 - const-string v3, "Authentication Failure"
42144 + if-eqz v3, :cond_20a
42146 - move-object/from16 v0, p0
42147 + if-eqz v17, :cond_20a
42149 - iput-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationDeniedReason:Ljava/lang/String;
42150 + invoke-virtual/range {v17 .. v17}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
42152 - goto :goto_135
42153 + move-result v3
42155 - :cond_1b6
42156 - const-string v3, ""
42157 + const/16 v21, 0x3
42159 - move-object/from16 v0, p0
42160 + move/from16 v0, v21
42162 - iput-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationDeniedReason:Ljava/lang/String;
42163 + if-ne v3, v0, :cond_20a
42165 - goto/16 :goto_135
42166 + new-instance v20, Ljava/util/Random;
42168 - :pswitch_1be
42169 - move-object/from16 v0, p2
42170 + invoke-direct/range {v20 .. v20}, Ljava/util/Random;-><init>()V
42172 - iget-object v3, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
42173 + move-object/from16 v0, p0
42175 - check-cast v3, [Ljava/lang/String;
42176 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newCellLoc:Landroid/telephony/cdma/CdmaCellLocation;
42178 - move-object v12, v3
42179 + invoke-virtual/range {v20 .. v20}, Ljava/util/Random;->nextInt()I
42181 - check-cast v12, [Ljava/lang/String;
42182 + move-result v4
42184 - if-eqz v12, :cond_265
42185 + invoke-virtual/range {v20 .. v20}, Ljava/util/Random;->nextInt()I
42187 - array-length v3, v12
42188 + move-result v5
42190 - const/16 v19, 0x3
42191 + invoke-virtual/range {v20 .. v20}, Ljava/util/Random;->nextInt()I
42193 - move/from16 v0, v19
42194 + move-result v6
42196 - if-lt v3, v0, :cond_265
42197 + invoke-virtual/range {v20 .. v20}, Ljava/util/Random;->nextInt()I
42199 - const/4 v3, 0x2
42200 + move-result v7
42202 - aget-object v3, v12, v3
42203 + invoke-virtual/range {v20 .. v20}, Ljava/util/Random;->nextInt()I
42205 - if-eqz v3, :cond_1f0
42206 + move-result v8
42208 - const/4 v3, 0x2
42209 + invoke-virtual/range {v3 .. v8}, Landroid/telephony/cdma/CdmaCellLocation;->setCellLocationData(IIIII)V
42211 - aget-object v3, v12, v3
42212 + goto/16 :goto_157
42214 - invoke-virtual {v3}, Ljava/lang/String;->length()I
42215 + :cond_20a
42216 + move-object/from16 v0, p0
42218 - move-result v3
42219 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newCellLoc:Landroid/telephony/cdma/CdmaCellLocation;
42221 - const/16 v19, 0x5
42222 + invoke-virtual/range {v3 .. v8}, Landroid/telephony/cdma/CdmaCellLocation;->setCellLocationData(IIIII)V
42224 - move/from16 v0, v19
42225 + goto/16 :goto_157
42227 - if-lt v3, v0, :cond_1f0
42228 + :cond_213
42229 + const/4 v3, 0x1
42231 - const-string v3, "00000"
42232 + if-ne v14, v3, :cond_21e
42234 - const/16 v19, 0x2
42235 + const-string v3, "Authentication Failure"
42237 - aget-object v19, v12, v19
42238 + move-object/from16 v0, p0
42240 - move-object/from16 v0, v19
42241 + iput-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationDeniedReason:Ljava/lang/String;
42243 - invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
42244 + goto/16 :goto_15f
42246 - move-result v3
42247 + :cond_21e
42248 + const-string v3, ""
42250 + move-object/from16 v0, p0
42252 + iput-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRegistrationDeniedReason:Ljava/lang/String;
42254 + goto/16 :goto_15f
42256 + :pswitch_226
42257 + move-object/from16 v0, p2
42259 + iget-object v3, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
42261 - if-eqz v3, :cond_22b
42262 + check-cast v3, [Ljava/lang/String;
42264 + move-object v12, v3
42266 + check-cast v12, [Ljava/lang/String;
42268 + if-eqz v12, :cond_313
42270 + array-length v3, v12
42272 + const/16 v21, 0x3
42274 + move/from16 v0, v21
42276 + if-lt v3, v0, :cond_313
42278 - :cond_1f0
42279 const/4 v3, 0x2
42281 - sget-object v19, Lcom/android/internal/telephony/cdma/CDMAPhone;->PROPERTY_CDMA_HOME_OPERATOR_NUMERIC:Ljava/lang/String;
42282 + aget-object v3, v12, v3
42284 + if-eqz v3, :cond_258
42286 - const-string v20, "00000"
42287 + const/4 v3, 0x2
42289 - invoke-static/range {v19 .. v20}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
42290 + aget-object v3, v12, v3
42292 - move-result-object v19
42293 + invoke-virtual {v3}, Ljava/lang/String;->length()I
42295 + move-result v3
42297 + const/16 v21, 0x5
42299 + move/from16 v0, v21
42301 + if-lt v3, v0, :cond_258
42303 + const-string v3, "00000"
42305 + const/16 v21, 0x2
42307 + aget-object v21, v12, v21
42309 + move-object/from16 v0, v21
42311 + invoke-virtual {v3, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
42313 + move-result v3
42315 + if-eqz v3, :cond_293
42317 + :cond_258
42318 + const/4 v3, 0x2
42320 + sget-object v21, Lcom/android/internal/telephony/cdma/CDMAPhone;->PROPERTY_CDMA_HOME_OPERATOR_NUMERIC:Ljava/lang/String;
42322 + const-string v22, "00000"
42324 + invoke-static/range {v21 .. v22}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
42326 + move-result-object v21
42328 - aput-object v19, v12, v3
42329 + aput-object v21, v12, v3
42331 new-instance v3, Ljava/lang/StringBuilder;
42333 invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
42335 - const-string v19, "RIL_REQUEST_OPERATOR.response[2], the numeric, is bad. Using SystemProperties \'"
42336 + const-string v21, "RIL_REQUEST_OPERATOR.response[2], the numeric, is bad. Using SystemProperties \'"
42338 - move-object/from16 v0, v19
42339 + move-object/from16 v0, v21
42341 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42343 move-result-object v3
42345 - sget-object v19, Lcom/android/internal/telephony/cdma/CDMAPhone;->PROPERTY_CDMA_HOME_OPERATOR_NUMERIC:Ljava/lang/String;
42346 + sget-object v21, Lcom/android/internal/telephony/cdma/CDMAPhone;->PROPERTY_CDMA_HOME_OPERATOR_NUMERIC:Ljava/lang/String;
42348 - move-object/from16 v0, v19
42349 + move-object/from16 v0, v21
42351 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42353 move-result-object v3
42355 - const-string v19, "\'= "
42356 + const-string v21, "\'= "
42358 - move-object/from16 v0, v19
42359 + move-object/from16 v0, v21
42361 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42363 move-result-object v3
42365 - const/16 v19, 0x2
42366 + const/16 v21, 0x2
42368 - aget-object v19, v12, v19
42369 + aget-object v21, v12, v21
42371 - move-object/from16 v0, v19
42372 + move-object/from16 v0, v21
42374 invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42376 @@ -5807,77 +6039,147 @@
42378 invoke-virtual {v0, v3}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->log(Ljava/lang/String;)V
42380 - :cond_22b
42381 + :cond_293
42382 move-object/from16 v0, p0
42384 iget-boolean v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->isSubscriptionFromRuim:Z
42386 - if-nez v3, :cond_24a
42387 + if-nez v3, :cond_2d5
42389 + move-object/from16 v0, p0
42391 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
42393 + if-eqz v3, :cond_2bc
42395 + if-eqz v17, :cond_2bc
42397 + invoke-virtual/range {v17 .. v17}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
42399 + move-result v3
42401 + if-eqz v3, :cond_2bc
42403 move-object/from16 v0, p0
42405 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42407 - const/16 v19, 0x0
42408 + const/16 v21, 0x0
42410 - const/16 v20, 0x1
42411 + const-string v22, ""
42413 - aget-object v20, v12, v20
42414 + const-string v23, ""
42416 - const/16 v21, 0x2
42417 + move-object/from16 v0, v21
42419 - aget-object v21, v12, v21
42420 + move-object/from16 v1, v22
42422 - move-object/from16 v0, v19
42423 + move-object/from16 v2, v23
42425 - move-object/from16 v1, v20
42426 + invoke-virtual {v3, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
42428 - move-object/from16 v2, v21
42429 + goto/16 :goto_22
42431 + :cond_2bc
42432 + move-object/from16 v0, p0
42434 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42436 + const/16 v21, 0x0
42438 + const/16 v22, 0x1
42440 + aget-object v22, v12, v22
42442 + const/16 v23, 0x2
42444 + aget-object v23, v12, v23
42446 + move-object/from16 v0, v21
42448 + move-object/from16 v1, v22
42450 + move-object/from16 v2, v23
42452 invoke-virtual {v3, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
42454 - goto/16 :goto_a
42455 + goto/16 :goto_22
42457 + :cond_2d5
42458 + move-object/from16 v0, p0
42460 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
42462 + if-eqz v3, :cond_2f8
42464 + if-eqz v17, :cond_2f8
42466 + invoke-virtual/range {v17 .. v17}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
42468 + move-result v3
42470 + if-eqz v3, :cond_2f8
42472 - :cond_24a
42473 move-object/from16 v0, p0
42475 iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42477 - const/16 v19, 0x0
42478 + const-string v21, ""
42480 - aget-object v19, v12, v19
42481 + const-string v22, ""
42483 - const/16 v20, 0x1
42484 + const-string v23, ""
42486 - aget-object v20, v12, v20
42487 + move-object/from16 v0, v21
42489 - const/16 v21, 0x2
42490 + move-object/from16 v1, v22
42492 + move-object/from16 v2, v23
42494 + invoke-virtual {v3, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
42496 + goto/16 :goto_22
42498 + :cond_2f8
42499 + move-object/from16 v0, p0
42501 + iget-object v3, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42503 + const/16 v21, 0x0
42505 aget-object v21, v12, v21
42507 - move-object/from16 v0, v19
42508 + const/16 v22, 0x1
42510 - move-object/from16 v1, v20
42511 + aget-object v22, v12, v22
42513 - move-object/from16 v2, v21
42514 + const/16 v23, 0x2
42516 + aget-object v23, v12, v23
42518 + move-object/from16 v0, v21
42520 + move-object/from16 v1, v22
42522 + move-object/from16 v2, v23
42524 invoke-virtual {v3, v0, v1, v2}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
42526 - goto/16 :goto_a
42527 + goto/16 :goto_22
42529 - :cond_265
42530 + :cond_313
42531 const-string v3, "EVENT_POLL_STATE_OPERATOR_CDMA: error parsing opNames"
42533 move-object/from16 v0, p0
42535 invoke-virtual {v0, v3}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->log(Ljava/lang/String;)V
42537 - goto/16 :goto_a
42538 + goto/16 :goto_22
42540 - :pswitch_data_26e
42541 + :pswitch_data_31c
42542 .packed-switch 0x18
42543 - :pswitch_b
42544 - :pswitch_1be
42545 + :pswitch_23
42546 + :pswitch_226
42547 .end packed-switch
42548 .end method
42550 @@ -6492,57 +6794,57 @@
42551 .end method
42553 .method protected pollStateDone()V
42554 - .registers 28
42555 + .registers 29
42557 - new-instance v23, Ljava/lang/StringBuilder;
42558 + new-instance v24, Ljava/lang/StringBuilder;
42560 - invoke-direct/range {v23 .. v23}, Ljava/lang/StringBuilder;-><init>()V
42561 + invoke-direct/range {v24 .. v24}, Ljava/lang/StringBuilder;-><init>()V
42563 - const-string/jumbo v24, "pollStateDone: oldSS=["
42564 + const-string/jumbo v25, "pollStateDone: oldSS=["
42566 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42567 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42569 - move-result-object v23
42570 + move-result-object v24
42572 move-object/from16 v0, p0
42574 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42576 - move-object/from16 v24, v0
42577 + move-object/from16 v25, v0
42579 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42580 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42582 - move-result-object v23
42583 + move-result-object v24
42585 - const-string v24, "] newSS=["
42586 + const-string v25, "] newSS=["
42588 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42589 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42591 - move-result-object v23
42592 + move-result-object v24
42594 move-object/from16 v0, p0
42596 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42598 - move-object/from16 v24, v0
42599 + move-object/from16 v25, v0
42601 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42602 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
42604 - move-result-object v23
42605 + move-result-object v24
42607 - const-string v24, "]"
42608 + const-string v25, "]"
42610 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42611 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
42613 - move-result-object v23
42614 + move-result-object v24
42616 - invoke-virtual/range {v23 .. v23}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42617 + invoke-virtual/range {v24 .. v24}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
42619 - move-result-object v23
42620 + move-result-object v24
42622 move-object/from16 v0, p0
42624 - move-object/from16 v1, v23
42625 + move-object/from16 v1, v24
42627 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->log(Ljava/lang/String;)V
42629 @@ -6550,25 +6852,25 @@
42631 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42633 - move-object/from16 v23, v0
42634 + move-object/from16 v24, v0
42636 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getState()I
42637 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
42639 - move-result v23
42640 + move-result v24
42642 - if-eqz v23, :cond_315
42643 + if-eqz v24, :cond_333
42645 move-object/from16 v0, p0
42647 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42649 - move-object/from16 v23, v0
42650 + move-object/from16 v24, v0
42652 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getState()I
42653 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
42655 - move-result v23
42656 + move-result v24
42658 - if-nez v23, :cond_315
42659 + if-nez v24, :cond_333
42661 const/4 v14, 0x1
42663 @@ -6577,25 +6879,25 @@
42665 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42667 - move-object/from16 v23, v0
42668 + move-object/from16 v24, v0
42670 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getState()I
42671 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
42673 - move-result v23
42674 + move-result v24
42676 - if-nez v23, :cond_318
42677 + if-nez v24, :cond_336
42679 move-object/from16 v0, p0
42681 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42683 - move-object/from16 v23, v0
42684 + move-object/from16 v24, v0
42686 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getState()I
42687 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
42689 - move-result v23
42690 + move-result v24
42692 - if-eqz v23, :cond_318
42693 + if-eqz v24, :cond_336
42695 const/4 v11, 0x1
42697 @@ -6604,17 +6906,17 @@
42699 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mDataConnectionState:I
42701 - move/from16 v23, v0
42702 + move/from16 v24, v0
42704 - if-eqz v23, :cond_31b
42705 + if-eqz v24, :cond_339
42707 move-object/from16 v0, p0
42709 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewDataConnectionState:I
42711 - move/from16 v23, v0
42712 + move/from16 v24, v0
42714 - if-nez v23, :cond_31b
42715 + if-nez v24, :cond_339
42717 const/4 v7, 0x1
42719 @@ -6623,17 +6925,17 @@
42721 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mDataConnectionState:I
42723 - move/from16 v23, v0
42724 + move/from16 v24, v0
42726 - if-nez v23, :cond_31e
42727 + if-nez v24, :cond_33c
42729 move-object/from16 v0, p0
42731 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewDataConnectionState:I
42733 - move/from16 v23, v0
42734 + move/from16 v24, v0
42736 - if-eqz v23, :cond_31e
42737 + if-eqz v24, :cond_33c
42739 const/4 v9, 0x1
42741 @@ -6642,19 +6944,19 @@
42743 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mDataConnectionState:I
42745 - move/from16 v23, v0
42746 + move/from16 v24, v0
42748 move-object/from16 v0, p0
42750 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewDataConnectionState:I
42752 - move/from16 v24, v0
42753 + move/from16 v25, v0
42755 - move/from16 v0, v23
42756 + move/from16 v0, v24
42758 - move/from16 v1, v24
42759 + move/from16 v1, v25
42761 - if-eq v0, v1, :cond_321
42762 + if-eq v0, v1, :cond_33f
42764 const/4 v8, 0x1
42766 @@ -6663,19 +6965,19 @@
42768 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRilRadioTechnology:I
42770 - move/from16 v23, v0
42771 + move/from16 v24, v0
42773 move-object/from16 v0, p0
42775 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewRilRadioTechnology:I
42777 - move/from16 v24, v0
42778 + move/from16 v25, v0
42780 - move/from16 v0, v23
42781 + move/from16 v0, v24
42783 - move/from16 v1, v24
42784 + move/from16 v1, v25
42786 - if-eq v0, v1, :cond_324
42787 + if-eq v0, v1, :cond_342
42789 const/4 v13, 0x1
42791 @@ -6684,19 +6986,19 @@
42793 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42795 - move-object/from16 v23, v0
42796 + move-object/from16 v24, v0
42798 move-object/from16 v0, p0
42800 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42802 - move-object/from16 v24, v0
42803 + move-object/from16 v25, v0
42805 - invoke-virtual/range {v23 .. v24}, Landroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
42806 + invoke-virtual/range {v24 .. v25}, Landroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
42808 - move-result v23
42809 + move-result v24
42811 - if-nez v23, :cond_327
42812 + if-nez v24, :cond_345
42814 const/4 v10, 0x1
42816 @@ -6705,25 +7007,25 @@
42818 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42820 - move-object/from16 v23, v0
42821 + move-object/from16 v24, v0
42823 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getRoaming()Z
42824 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getRoaming()Z
42826 - move-result v23
42827 + move-result v24
42829 - if-nez v23, :cond_32a
42830 + if-nez v24, :cond_348
42832 move-object/from16 v0, p0
42834 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42836 - move-object/from16 v23, v0
42837 + move-object/from16 v24, v0
42839 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getRoaming()Z
42840 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getRoaming()Z
42842 - move-result v23
42843 + move-result v24
42845 - if-eqz v23, :cond_32a
42846 + if-eqz v24, :cond_348
42848 const/16 v16, 0x1
42850 @@ -6732,25 +7034,25 @@
42852 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42854 - move-object/from16 v23, v0
42855 + move-object/from16 v24, v0
42857 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getRoaming()Z
42858 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getRoaming()Z
42860 - move-result v23
42861 + move-result v24
42863 - if-eqz v23, :cond_32e
42864 + if-eqz v24, :cond_34c
42866 move-object/from16 v0, p0
42868 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42870 - move-object/from16 v23, v0
42871 + move-object/from16 v24, v0
42873 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getRoaming()Z
42874 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getRoaming()Z
42876 - move-result v23
42877 + move-result v24
42879 - if-nez v23, :cond_32e
42880 + if-nez v24, :cond_34c
42882 const/4 v15, 0x1
42884 @@ -6759,19 +7061,19 @@
42886 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newCellLoc:Landroid/telephony/cdma/CdmaCellLocation;
42888 - move-object/from16 v23, v0
42889 + move-object/from16 v24, v0
42891 move-object/from16 v0, p0
42893 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cellLoc:Landroid/telephony/cdma/CdmaCellLocation;
42895 - move-object/from16 v24, v0
42896 + move-object/from16 v25, v0
42898 - invoke-virtual/range {v23 .. v24}, Landroid/telephony/cdma/CdmaCellLocation;->equals(Ljava/lang/Object;)Z
42899 + invoke-virtual/range {v24 .. v25}, Landroid/telephony/cdma/CdmaCellLocation;->equals(Ljava/lang/Object;)Z
42901 - move-result v23
42902 + move-result v24
42904 - if-nez v23, :cond_331
42905 + if-nez v24, :cond_34f
42907 const/4 v12, 0x1
42909 @@ -6780,25 +7082,25 @@
42911 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42913 - move-object/from16 v23, v0
42914 + move-object/from16 v24, v0
42916 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getState()I
42917 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
42919 - move-result v23
42920 + move-result v24
42922 move-object/from16 v0, p0
42924 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
42926 - move-object/from16 v24, v0
42927 + move-object/from16 v25, v0
42929 - invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
42930 + invoke-virtual/range {v25 .. v25}, Landroid/telephony/ServiceState;->getState()I
42932 - move-result v24
42933 + move-result v25
42935 - move/from16 v0, v23
42936 + move/from16 v0, v24
42938 - move/from16 v1, v24
42939 + move/from16 v1, v25
42941 if-ne v0, v1, :cond_136
42943 @@ -6806,117 +7108,117 @@
42945 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mDataConnectionState:I
42947 - move/from16 v23, v0
42948 + move/from16 v24, v0
42950 move-object/from16 v0, p0
42952 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewDataConnectionState:I
42954 - move/from16 v24, v0
42955 + move/from16 v25, v0
42957 - move/from16 v0, v23
42958 + move/from16 v0, v24
42960 - move/from16 v1, v24
42961 + move/from16 v1, v25
42963 if-eq v0, v1, :cond_184
42965 :cond_136
42966 - const v23, 0xc3c4
42967 + const v24, 0xc3c4
42969 - const/16 v24, 0x4
42970 + const/16 v25, 0x4
42972 - move/from16 v0, v24
42973 + move/from16 v0, v25
42975 new-array v0, v0, [Ljava/lang/Object;
42977 - move-object/from16 v24, v0
42978 + move-object/from16 v25, v0
42980 - const/16 v25, 0x0
42981 + const/16 v26, 0x0
42983 move-object/from16 v0, p0
42985 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
42987 - move-object/from16 v26, v0
42988 + move-object/from16 v27, v0
42990 - invoke-virtual/range {v26 .. v26}, Landroid/telephony/ServiceState;->getState()I
42991 + invoke-virtual/range {v27 .. v27}, Landroid/telephony/ServiceState;->getState()I
42993 - move-result v26
42994 + move-result v27
42996 - invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42997 + invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
42999 - move-result-object v26
43000 + move-result-object v27
43002 - aput-object v26, v24, v25
43003 + aput-object v27, v25, v26
43005 - const/16 v25, 0x1
43006 + const/16 v26, 0x1
43008 move-object/from16 v0, p0
43010 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mDataConnectionState:I
43012 - move/from16 v26, v0
43013 + move/from16 v27, v0
43015 - invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
43016 + invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
43018 - move-result-object v26
43019 + move-result-object v27
43021 - aput-object v26, v24, v25
43022 + aput-object v27, v25, v26
43024 - const/16 v25, 0x2
43025 + const/16 v26, 0x2
43027 move-object/from16 v0, p0
43029 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
43031 - move-object/from16 v26, v0
43032 + move-object/from16 v27, v0
43034 - invoke-virtual/range {v26 .. v26}, Landroid/telephony/ServiceState;->getState()I
43035 + invoke-virtual/range {v27 .. v27}, Landroid/telephony/ServiceState;->getState()I
43037 - move-result v26
43038 + move-result v27
43040 - invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
43041 + invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
43043 - move-result-object v26
43044 + move-result-object v27
43046 - aput-object v26, v24, v25
43047 + aput-object v27, v25, v26
43049 - const/16 v25, 0x3
43050 + const/16 v26, 0x3
43052 move-object/from16 v0, p0
43054 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewDataConnectionState:I
43056 - move/from16 v26, v0
43057 + move/from16 v27, v0
43059 - invoke-static/range {v26 .. v26}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
43060 + invoke-static/range {v27 .. v27}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
43062 - move-result-object v26
43063 + move-result-object v27
43065 - aput-object v26, v24, v25
43066 + aput-object v27, v25, v26
43068 - invoke-static/range {v23 .. v24}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
43069 + invoke-static/range {v24 .. v25}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
43071 :cond_184
43072 move-object/from16 v0, p0
43074 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43076 - move-object/from16 v22, v0
43077 + move-object/from16 v23, v0
43079 move-object/from16 v0, p0
43081 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
43083 - move-object/from16 v23, v0
43084 + move-object/from16 v24, v0
43086 - move-object/from16 v0, v23
43087 + move-object/from16 v0, v24
43089 move-object/from16 v1, p0
43091 iput-object v0, v1, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43093 - move-object/from16 v0, v22
43094 + move-object/from16 v0, v23
43096 move-object/from16 v1, p0
43098 @@ -6926,29 +7228,29 @@
43100 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
43102 - move-object/from16 v23, v0
43103 + move-object/from16 v24, v0
43105 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->setStateOutOfService()V
43106 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->setStateOutOfService()V
43108 move-object/from16 v0, p0
43110 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cellLoc:Landroid/telephony/cdma/CdmaCellLocation;
43112 - move-object/from16 v21, v0
43113 + move-object/from16 v22, v0
43115 move-object/from16 v0, p0
43117 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newCellLoc:Landroid/telephony/cdma/CdmaCellLocation;
43119 - move-object/from16 v23, v0
43120 + move-object/from16 v24, v0
43122 - move-object/from16 v0, v23
43123 + move-object/from16 v0, v24
43125 move-object/from16 v1, p0
43127 iput-object v0, v1, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cellLoc:Landroid/telephony/cdma/CdmaCellLocation;
43129 - move-object/from16 v0, v21
43130 + move-object/from16 v0, v22
43132 move-object/from16 v1, p0
43134 @@ -6958,9 +7260,9 @@
43136 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewDataConnectionState:I
43138 - move/from16 v23, v0
43139 + move/from16 v24, v0
43141 - move/from16 v0, v23
43142 + move/from16 v0, v24
43144 move-object/from16 v1, p0
43146 @@ -6970,17 +7272,17 @@
43148 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNewRilRadioTechnology:I
43150 - move/from16 v23, v0
43151 + move/from16 v24, v0
43153 - move/from16 v0, v23
43154 + move/from16 v0, v24
43156 move-object/from16 v1, p0
43158 iput v0, v1, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRilRadioTechnology:I
43160 - const/16 v23, 0x0
43161 + const/16 v24, 0x0
43163 - move/from16 v0, v23
43164 + move/from16 v0, v24
43166 move-object/from16 v1, p0
43168 @@ -6990,9 +7292,9 @@
43170 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
43172 - move-object/from16 v23, v0
43173 + move-object/from16 v24, v0
43175 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->setStateOutOfService()V
43176 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->setStateOutOfService()V
43178 if-eqz v13, :cond_1fd
43180 @@ -7000,21 +7302,21 @@
43182 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43184 - move-object/from16 v23, v0
43185 + move-object/from16 v24, v0
43187 - const-string v24, "gsm.network.type"
43188 + const-string v25, "gsm.network.type"
43190 move-object/from16 v0, p0
43192 iget v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRilRadioTechnology:I
43194 - move/from16 v25, v0
43195 + move/from16 v26, v0
43197 - invoke-static/range {v25 .. v25}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
43198 + invoke-static/range {v26 .. v26}, Landroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
43200 - move-result-object v25
43201 + move-result-object v26
43203 - invoke-virtual/range {v23 .. v25}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43204 + invoke-virtual/range {v24 .. v26}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43206 :cond_1fd
43207 if-eqz v14, :cond_208
43208 @@ -7023,96 +7325,126 @@
43210 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNetworkAttachedRegistrants:Landroid/os/RegistrantList;
43212 - move-object/from16 v23, v0
43213 + move-object/from16 v24, v0
43215 - invoke-virtual/range {v23 .. v23}, Landroid/os/RegistrantList;->notifyRegistrants()V
43216 + invoke-virtual/range {v24 .. v24}, Landroid/os/RegistrantList;->notifyRegistrants()V
43218 :cond_208
43219 - if-eqz v10, :cond_2ce
43220 + if-eqz v10, :cond_2ec
43222 move-object/from16 v0, p0
43224 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
43226 - move-object/from16 v23, v0
43227 + move-object/from16 v24, v0
43229 - invoke-interface/range {v23 .. v23}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
43230 + invoke-interface/range {v24 .. v24}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
43232 - move-result-object v23
43233 + move-result-object v24
43235 - invoke-virtual/range {v23 .. v23}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
43236 + invoke-virtual/range {v24 .. v24}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
43238 - move-result v23
43239 + move-result v24
43241 - if-eqz v23, :cond_243
43242 + if-eqz v24, :cond_261
43244 move-object/from16 v0, p0
43246 iget-boolean v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->isSubscriptionFromRuim:Z
43248 - move/from16 v23, v0
43249 + move/from16 v24, v0
43251 - if-nez v23, :cond_243
43252 + if-nez v24, :cond_261
43254 move-object/from16 v0, p0
43256 - iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43257 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
43259 - move-object/from16 v23, v0
43260 + move-object/from16 v24, v0
43262 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getState()I
43263 + move-object/from16 v0, p0
43265 - move-result v23
43266 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mContext:Landroid/content/Context;
43268 + move-object/from16 v25, v0
43270 - if-nez v23, :cond_334
43271 + invoke-virtual/range {v25 .. v25}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
43273 + move-result-object v25
43275 + const/16 v26, 0x0
43277 + invoke-virtual/range {v24 .. v26}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
43279 + move-result-object v21
43281 move-object/from16 v0, p0
43283 - iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43284 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
43286 - move-object/from16 v23, v0
43287 + move-object/from16 v24, v0
43289 - invoke-virtual/range {v23 .. v23}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getCdmaEriText()Ljava/lang/String;
43290 + if-eqz v24, :cond_369
43292 - move-result-object v5
43293 + if-eqz v21, :cond_369
43295 + invoke-virtual/range {v21 .. v21}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
43297 + move-result v24
43299 + if-eqz v24, :cond_369
43301 - :goto_238
43302 move-object/from16 v0, p0
43304 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43306 - move-object/from16 v23, v0
43307 + move-object/from16 v24, v0
43309 - move-object/from16 v0, v23
43310 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
43312 + move-result v24
43314 + if-nez v24, :cond_352
43316 + const-string v5, ""
43318 + :goto_256
43319 + move-object/from16 v0, p0
43321 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43323 + move-object/from16 v24, v0
43325 + move-object/from16 v0, v24
43327 invoke-virtual {v0, v5}, Landroid/telephony/ServiceState;->setOperatorAlphaLong(Ljava/lang/String;)V
43329 - :cond_243
43330 + :cond_261
43331 move-object/from16 v0, p0
43333 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43335 - move-object/from16 v23, v0
43336 + move-object/from16 v24, v0
43338 - const-string v24, "gsm.operator.alpha"
43339 + const-string v25, "gsm.operator.alpha"
43341 move-object/from16 v0, p0
43343 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43345 - move-object/from16 v25, v0
43346 + move-object/from16 v26, v0
43348 - invoke-virtual/range {v25 .. v25}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
43349 + invoke-virtual/range {v26 .. v26}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
43351 - move-result-object v25
43352 + move-result-object v26
43354 - invoke-virtual/range {v23 .. v25}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43355 + invoke-virtual/range {v24 .. v26}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43357 - const-string v23, "gsm.operator.numeric"
43358 + const-string v24, "gsm.operator.numeric"
43360 - const-string v24, ""
43361 + const-string v25, ""
43363 - invoke-static/range {v23 .. v24}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
43364 + invoke-static/range {v24 .. v25}, Landroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
43366 move-result-object v20
43368 @@ -7120,9 +7452,9 @@
43370 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43372 - move-object/from16 v23, v0
43373 + move-object/from16 v24, v0
43375 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
43376 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
43378 move-result-object v19
43380 @@ -7130,25 +7462,25 @@
43382 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43384 - move-object/from16 v23, v0
43385 + move-object/from16 v24, v0
43387 - const-string v24, "gsm.operator.numeric"
43388 + const-string v25, "gsm.operator.numeric"
43390 - move-object/from16 v0, v23
43391 + move-object/from16 v0, v24
43393 - move-object/from16 v1, v24
43394 + move-object/from16 v1, v25
43396 move-object/from16 v2, v19
43398 invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43400 - if-nez v19, :cond_34b
43401 + if-nez v19, :cond_398
43403 - const-string/jumbo v23, "operatorNumeric is null"
43404 + const-string/jumbo v24, "operatorNumeric is null"
43406 move-object/from16 v0, p0
43408 - move-object/from16 v1, v23
43409 + move-object/from16 v1, v24
43411 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->log(Ljava/lang/String;)V
43413 @@ -7156,52 +7488,52 @@
43415 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43417 - move-object/from16 v23, v0
43418 + move-object/from16 v24, v0
43420 - const-string v24, "gsm.operator.iso-country"
43421 + const-string v25, "gsm.operator.iso-country"
43423 - const-string v25, ""
43424 + const-string v26, ""
43426 - invoke-virtual/range {v23 .. v25}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43427 + invoke-virtual/range {v24 .. v26}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43429 - const/16 v23, 0x0
43430 + const/16 v24, 0x0
43432 - move/from16 v0, v23
43433 + move/from16 v0, v24
43435 move-object/from16 v1, p0
43437 iput-boolean v0, v1, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mGotCountryCode:Z
43439 - :cond_29c
43440 - :goto_29c
43441 + :cond_2ba
43442 + :goto_2ba
43443 move-object/from16 v0, p0
43445 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43447 - move-object/from16 v24, v0
43448 + move-object/from16 v25, v0
43450 - const-string v25, "gsm.operator.isroaming"
43451 + const-string v26, "gsm.operator.isroaming"
43453 move-object/from16 v0, p0
43455 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43457 - move-object/from16 v23, v0
43458 + move-object/from16 v24, v0
43460 - invoke-virtual/range {v23 .. v23}, Landroid/telephony/ServiceState;->getRoaming()Z
43461 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getRoaming()Z
43463 - move-result v23
43464 + move-result v24
43466 - if-eqz v23, :cond_3ed
43467 + if-eqz v24, :cond_43a
43469 - const-string/jumbo v23, "true"
43470 + const-string/jumbo v24, "true"
43472 - :goto_2b3
43473 - move-object/from16 v0, v24
43474 + :goto_2d1
43475 + move-object/from16 v0, v25
43477 - move-object/from16 v1, v25
43478 + move-object/from16 v1, v26
43480 - move-object/from16 v2, v23
43481 + move-object/from16 v2, v24
43483 invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43485 @@ -7211,226 +7543,274 @@
43487 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43489 - move-object/from16 v23, v0
43490 + move-object/from16 v24, v0
43492 move-object/from16 v0, p0
43494 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43496 - move-object/from16 v24, v0
43497 + move-object/from16 v25, v0
43499 - invoke-virtual/range {v23 .. v24}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
43500 + invoke-virtual/range {v24 .. v25}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
43502 - :cond_2ce
43503 - if-eqz v7, :cond_2d9
43504 + :cond_2ec
43505 + if-eqz v7, :cond_2f7
43507 move-object/from16 v0, p0
43509 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mAttachedRegistrants:Landroid/os/RegistrantList;
43511 - move-object/from16 v23, v0
43512 + move-object/from16 v24, v0
43514 - invoke-virtual/range {v23 .. v23}, Landroid/os/RegistrantList;->notifyRegistrants()V
43515 + invoke-virtual/range {v24 .. v24}, Landroid/os/RegistrantList;->notifyRegistrants()V
43517 - :cond_2d9
43518 - if-eqz v9, :cond_2e4
43519 + :cond_2f7
43520 + if-eqz v9, :cond_302
43522 move-object/from16 v0, p0
43524 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mDetachedRegistrants:Landroid/os/RegistrantList;
43526 - move-object/from16 v23, v0
43527 + move-object/from16 v24, v0
43529 - invoke-virtual/range {v23 .. v23}, Landroid/os/RegistrantList;->notifyRegistrants()V
43530 + invoke-virtual/range {v24 .. v24}, Landroid/os/RegistrantList;->notifyRegistrants()V
43532 - :cond_2e4
43533 - if-nez v8, :cond_2e8
43534 + :cond_302
43535 + if-nez v8, :cond_306
43537 - if-eqz v13, :cond_2f3
43538 + if-eqz v13, :cond_311
43540 - :cond_2e8
43541 + :cond_306
43542 move-object/from16 v0, p0
43544 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43546 - move-object/from16 v23, v0
43547 + move-object/from16 v24, v0
43549 - const/16 v24, 0x0
43550 + const/16 v25, 0x0
43552 - invoke-virtual/range {v23 .. v24}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyDataConnection(Ljava/lang/String;)V
43553 + invoke-virtual/range {v24 .. v25}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyDataConnection(Ljava/lang/String;)V
43555 - :cond_2f3
43556 - if-eqz v16, :cond_2fe
43557 + :cond_311
43558 + if-eqz v16, :cond_31c
43560 move-object/from16 v0, p0
43562 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRoamingOnRegistrants:Landroid/os/RegistrantList;
43564 - move-object/from16 v23, v0
43565 + move-object/from16 v24, v0
43567 - invoke-virtual/range {v23 .. v23}, Landroid/os/RegistrantList;->notifyRegistrants()V
43568 + invoke-virtual/range {v24 .. v24}, Landroid/os/RegistrantList;->notifyRegistrants()V
43570 - :cond_2fe
43571 - if-eqz v15, :cond_309
43572 + :cond_31c
43573 + if-eqz v15, :cond_327
43575 move-object/from16 v0, p0
43577 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mRoamingOffRegistrants:Landroid/os/RegistrantList;
43579 - move-object/from16 v23, v0
43580 + move-object/from16 v24, v0
43582 - invoke-virtual/range {v23 .. v23}, Landroid/os/RegistrantList;->notifyRegistrants()V
43583 + invoke-virtual/range {v24 .. v24}, Landroid/os/RegistrantList;->notifyRegistrants()V
43585 - :cond_309
43586 - if-eqz v12, :cond_314
43587 + :cond_327
43588 + if-eqz v12, :cond_332
43590 move-object/from16 v0, p0
43592 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43594 - move-object/from16 v23, v0
43595 + move-object/from16 v24, v0
43597 - invoke-virtual/range {v23 .. v23}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyLocationChanged()V
43598 + invoke-virtual/range {v24 .. v24}, Lcom/android/internal/telephony/cdma/CDMAPhone;->notifyLocationChanged()V
43600 - :cond_314
43601 + :cond_332
43602 return-void
43604 - :cond_315
43605 + :cond_333
43606 const/4 v14, 0x0
43608 goto/16 :goto_50
43610 - :cond_318
43611 + :cond_336
43612 const/4 v11, 0x0
43614 goto/16 :goto_69
43616 - :cond_31b
43617 + :cond_339
43618 const/4 v7, 0x0
43620 goto/16 :goto_7a
43622 - :cond_31e
43623 + :cond_33c
43624 const/4 v9, 0x0
43626 goto/16 :goto_8b
43628 - :cond_321
43629 + :cond_33f
43630 const/4 v8, 0x0
43632 goto/16 :goto_9e
43634 - :cond_324
43635 + :cond_342
43636 const/4 v13, 0x0
43638 goto/16 :goto_b1
43640 - :cond_327
43641 + :cond_345
43642 const/4 v10, 0x0
43644 goto/16 :goto_c4
43646 - :cond_32a
43647 + :cond_348
43648 const/16 v16, 0x0
43650 goto/16 :goto_de
43652 - :cond_32e
43653 + :cond_34c
43654 const/4 v15, 0x0
43656 goto/16 :goto_f7
43658 - :cond_331
43659 + :cond_34f
43660 const/4 v12, 0x0
43662 goto/16 :goto_10a
43664 - :cond_334
43665 + :cond_352
43666 move-object/from16 v0, p0
43668 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43670 - move-object/from16 v23, v0
43671 + move-object/from16 v24, v0
43673 - invoke-virtual/range {v23 .. v23}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getContext()Landroid/content/Context;
43674 + invoke-virtual/range {v24 .. v24}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getContext()Landroid/content/Context;
43676 - move-result-object v23
43677 + move-result-object v24
43679 - const v24, 0x104010a
43680 + const v25, 0x104010a
43682 - invoke-virtual/range {v23 .. v24}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
43683 + invoke-virtual/range {v24 .. v25}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
43685 - move-result-object v23
43686 + move-result-object v24
43688 - invoke-virtual/range {v23 .. v23}, Ljava/lang/Object;->toString()Ljava/lang/String;
43689 + invoke-virtual/range {v24 .. v24}, Ljava/lang/Object;->toString()Ljava/lang/String;
43691 move-result-object v5
43693 - goto/16 :goto_238
43694 + goto/16 :goto_256
43696 + :cond_369
43697 + move-object/from16 v0, p0
43699 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->ss:Landroid/telephony/ServiceState;
43701 + move-object/from16 v24, v0
43703 + invoke-virtual/range {v24 .. v24}, Landroid/telephony/ServiceState;->getState()I
43705 + move-result v24
43707 + if-nez v24, :cond_381
43709 + move-object/from16 v0, p0
43711 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43713 - :cond_34b
43714 + move-object/from16 v24, v0
43716 + invoke-virtual/range {v24 .. v24}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getCdmaEriText()Ljava/lang/String;
43718 + move-result-object v5
43720 + goto/16 :goto_256
43722 + :cond_381
43723 + move-object/from16 v0, p0
43725 + iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43727 + move-object/from16 v24, v0
43729 + invoke-virtual/range {v24 .. v24}, Lcom/android/internal/telephony/cdma/CDMAPhone;->getContext()Landroid/content/Context;
43731 + move-result-object v24
43733 + const v25, 0x104010a
43735 + invoke-virtual/range {v24 .. v25}, Landroid/content/Context;->getText(I)Ljava/lang/CharSequence;
43737 + move-result-object v24
43739 + invoke-virtual/range {v24 .. v24}, Ljava/lang/Object;->toString()Ljava/lang/String;
43741 + move-result-object v5
43743 + goto/16 :goto_256
43745 + :cond_398
43746 const-string v17, ""
43748 - const/16 v23, 0x0
43749 + const/16 v24, 0x0
43751 - const/16 v24, 0x3
43752 + const/16 v25, 0x3
43754 move-object/from16 v0, v19
43756 - move/from16 v1, v23
43757 + move/from16 v1, v24
43759 - move/from16 v2, v24
43760 + move/from16 v2, v25
43762 invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
43764 move-result-object v18
43766 - const/16 v23, 0x0
43767 + const/16 v24, 0x0
43769 - const/16 v24, 0x3
43770 + const/16 v25, 0x3
43772 - :try_start_35f
43773 + :try_start_3ac
43774 move-object/from16 v0, v19
43776 - move/from16 v1, v23
43777 + move/from16 v1, v24
43779 - move/from16 v2, v24
43780 + move/from16 v2, v25
43782 invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
43784 - move-result-object v23
43785 + move-result-object v24
43787 - invoke-static/range {v23 .. v23}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
43788 + invoke-static/range {v24 .. v24}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
43790 - move-result v23
43791 + move-result v24
43793 - invoke-static/range {v23 .. v23}, Lcom/android/internal/telephony/MccTable;->countryCodeForMcc(I)Ljava/lang/String;
43794 - :try_end_370
43795 - .catch Ljava/lang/NumberFormatException; {:try_start_35f .. :try_end_370} :catch_3af
43796 - .catch Ljava/lang/StringIndexOutOfBoundsException; {:try_start_35f .. :try_end_370} :catch_3ce
43797 + invoke-static/range {v24 .. v24}, Lcom/android/internal/telephony/MccTable;->countryCodeForMcc(I)Ljava/lang/String;
43798 + :try_end_3bd
43799 + .catch Ljava/lang/NumberFormatException; {:try_start_3ac .. :try_end_3bd} :catch_3fc
43800 + .catch Ljava/lang/StringIndexOutOfBoundsException; {:try_start_3ac .. :try_end_3bd} :catch_41b
43802 move-result-object v17
43804 - :goto_371
43805 + :goto_3be
43806 move-object/from16 v0, p0
43808 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43810 - move-object/from16 v23, v0
43811 + move-object/from16 v24, v0
43813 - const-string v24, "gsm.operator.iso-country"
43814 + const-string v25, "gsm.operator.iso-country"
43816 - move-object/from16 v0, v23
43817 + move-object/from16 v0, v24
43819 - move-object/from16 v1, v24
43820 + move-object/from16 v1, v25
43822 move-object/from16 v2, v17
43824 invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/cdma/CDMAPhone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
43826 - const/16 v23, 0x1
43827 + const/16 v24, 0x1
43829 - move/from16 v0, v23
43830 + move/from16 v0, v24
43832 move-object/from16 v1, p0
43834 @@ -7440,29 +7820,29 @@
43836 iget-object v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->phone:Lcom/android/internal/telephony/cdma/CDMAPhone;
43838 - move-object/from16 v23, v0
43839 + move-object/from16 v24, v0
43841 move-object/from16 v0, p0
43843 iget-boolean v0, v0, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->mNeedFixZone:Z
43845 - move/from16 v24, v0
43846 + move/from16 v25, v0
43848 move-object/from16 v0, p0
43850 - move-object/from16 v1, v23
43851 + move-object/from16 v1, v24
43853 move-object/from16 v2, v19
43855 move-object/from16 v3, v20
43857 - move/from16 v4, v24
43858 + move/from16 v4, v25
43860 invoke-virtual {v0, v1, v2, v3, v4}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->shouldFixTimeZoneNow(Lcom/android/internal/telephony/PhoneBase;Ljava/lang/String;Ljava/lang/String;Z)Z
43862 - move-result v23
43863 + move-result v24
43865 - if-eqz v23, :cond_29c
43866 + if-eqz v24, :cond_2ba
43868 move-object/from16 v0, p0
43870 @@ -7470,74 +7850,74 @@
43872 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->fixTimeZone(Ljava/lang/String;)V
43874 - goto/16 :goto_29c
43875 + goto/16 :goto_2ba
43877 - :catch_3af
43878 + :catch_3fc
43879 move-exception v6
43881 - new-instance v23, Ljava/lang/StringBuilder;
43882 + new-instance v24, Ljava/lang/StringBuilder;
43884 - invoke-direct/range {v23 .. v23}, Ljava/lang/StringBuilder;-><init>()V
43885 + invoke-direct/range {v24 .. v24}, Ljava/lang/StringBuilder;-><init>()V
43887 - const-string/jumbo v24, "pollStateDone: countryCodeForMcc error"
43888 + const-string/jumbo v25, "pollStateDone: countryCodeForMcc error"
43890 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43891 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43893 - move-result-object v23
43894 + move-result-object v24
43896 - move-object/from16 v0, v23
43897 + move-object/from16 v0, v24
43899 invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
43901 - move-result-object v23
43902 + move-result-object v24
43904 - invoke-virtual/range {v23 .. v23}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43905 + invoke-virtual/range {v24 .. v24}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43907 - move-result-object v23
43908 + move-result-object v24
43910 move-object/from16 v0, p0
43912 - move-object/from16 v1, v23
43913 + move-object/from16 v1, v24
43915 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->loge(Ljava/lang/String;)V
43917 - goto :goto_371
43918 + goto :goto_3be
43920 - :catch_3ce
43921 + :catch_41b
43922 move-exception v6
43924 - new-instance v23, Ljava/lang/StringBuilder;
43925 + new-instance v24, Ljava/lang/StringBuilder;
43927 - invoke-direct/range {v23 .. v23}, Ljava/lang/StringBuilder;-><init>()V
43928 + invoke-direct/range {v24 .. v24}, Ljava/lang/StringBuilder;-><init>()V
43930 - const-string/jumbo v24, "pollStateDone: countryCodeForMcc error"
43931 + const-string/jumbo v25, "pollStateDone: countryCodeForMcc error"
43933 - invoke-virtual/range {v23 .. v24}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43934 + invoke-virtual/range {v24 .. v25}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
43936 - move-result-object v23
43937 + move-result-object v24
43939 - move-object/from16 v0, v23
43940 + move-object/from16 v0, v24
43942 invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
43944 - move-result-object v23
43945 + move-result-object v24
43947 - invoke-virtual/range {v23 .. v23}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43948 + invoke-virtual/range {v24 .. v24}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
43950 - move-result-object v23
43951 + move-result-object v24
43953 move-object/from16 v0, p0
43955 - move-object/from16 v1, v23
43956 + move-object/from16 v1, v24
43958 invoke-virtual {v0, v1}, Lcom/android/internal/telephony/cdma/CdmaServiceStateTracker;->loge(Ljava/lang/String;)V
43960 - goto :goto_371
43961 + goto :goto_3be
43963 - :cond_3ed
43964 - const-string v23, "false"
43965 + :cond_43a
43966 + const-string v24, "false"
43968 - goto/16 :goto_2b3
43969 + goto/16 :goto_2d1
43970 .end method
43972 .method protected radioTechnologyToDataServiceState(I)I
43973 diff -Npru stock-framework/smali/com/android/internal/telephony/cdma/RuimSmsInterfaceManager.smali ext-framework/smali/com/android/internal/telephony/cdma/RuimSmsInterfaceManager.smali
43974 --- stock-framework/smali/com/android/internal/telephony/cdma/RuimSmsInterfaceManager.smali 2012-11-08 09:12:18.734951758 -0600
43975 +++ ext-framework/smali/com/android/internal/telephony/cdma/RuimSmsInterfaceManager.smali 2012-11-08 09:11:58.278850322 -0600
43976 @@ -4,6 +4,10 @@
43979 # static fields
43980 +.field protected static final ACCESS_TYPE_ICC:I = 0x1
43982 +.field protected static final ACCESS_TYPE_SMS_MMS:I = 0x0
43984 .field static final DBG:Z = true
43986 .field private static final EVENT_LOAD_DONE:I = 0x1
43987 @@ -12,6 +16,8 @@
43989 .field static final LOG_TAG:Ljava/lang/String; = "CDMA"
43991 +.field protected static final P_TAG:Ljava/lang/String; = "PrivacySMSInterfaceManager"
43994 # instance fields
43995 .field mHandler:Landroid/os/Handler;
43996 @@ -31,6 +37,8 @@
43998 .field private mSuccess:Z
44000 +.field protected pSetMan:Landroid/privacy/PrivacySettingsManager;
44003 # direct methods
44004 .method public constructor <init>(Lcom/android/internal/telephony/cdma/CDMAPhone;Lcom/android/internal/telephony/SMSDispatcher;)V
44005 @@ -102,52 +110,70 @@
44006 .method public copyMessageToIccEf(I[B[B)Z
44007 .registers 9
44009 - new-instance v2, Ljava/lang/StringBuilder;
44010 + const/4 v2, 0x0
44012 - invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
44013 + new-instance v3, Ljava/lang/StringBuilder;
44015 - const-string v3, "copyMessageToIccEf: status="
44016 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
44018 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44019 + const-string v4, "copyMessageToIccEf: status="
44021 - move-result-object v2
44022 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44024 - invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44025 + move-result-object v3
44027 - move-result-object v2
44028 + invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44030 - const-string v3, " ==> "
44031 + move-result-object v3
44033 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44034 + const-string v4, " ==> "
44036 - move-result-object v2
44037 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44039 + move-result-object v3
44041 - const-string/jumbo v3, "pdu=("
44042 + const-string/jumbo v4, "pdu=("
44044 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44045 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44047 - move-result-object v2
44048 + move-result-object v3
44050 invoke-static {p2}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
44052 + move-result-object v4
44054 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44056 move-result-object v3
44058 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44059 + const-string v4, ")"
44061 - move-result-object v2
44062 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44064 - const-string v3, ")"
44065 + move-result-object v3
44067 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44068 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44070 - move-result-object v2
44071 + move-result-object v3
44073 - invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44074 + invoke-virtual {p0, v3}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44076 - move-result-object v2
44077 + invoke-virtual {p0}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->getPackageName()[Ljava/lang/String;
44079 - invoke-virtual {p0, v2}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44080 + move-result-object v3
44082 + const/4 v4, 0x1
44084 + invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->isAllowed([Ljava/lang/String;I)Z
44086 + move-result v3
44088 + if-nez v3, :cond_3e
44090 + :goto_3d
44091 + return v2
44093 + :cond_3e
44094 const-string v2, "Copying message to RUIM"
44096 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
44097 @@ -158,7 +184,7 @@
44099 const/4 v2, 0x0
44101 - :try_start_3a
44102 + :try_start_47
44103 iput-boolean v2, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mSuccess:Z
44105 iget-object v2, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
44106 @@ -178,43 +204,43 @@
44107 move-result-object v4
44109 invoke-interface {v2, p1, v4, v1}, Lcom/android/internal/telephony/CommandsInterface;->writeSmsToRuim(ILjava/lang/String;Landroid/os/Message;)V
44110 - :try_end_4e
44111 - .catchall {:try_start_3a .. :try_end_4e} :catchall_5e
44112 + :try_end_5b
44113 + .catchall {:try_start_47 .. :try_end_5b} :catchall_6b
44115 - :try_start_4e
44116 + :try_start_5b
44117 iget-object v2, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mLock:Ljava/lang/Object;
44119 invoke-virtual {v2}, Ljava/lang/Object;->wait()V
44120 - :try_end_53
44121 - .catchall {:try_start_4e .. :try_end_53} :catchall_5e
44122 - .catch Ljava/lang/InterruptedException; {:try_start_4e .. :try_end_53} :catch_57
44123 + :try_end_60
44124 + .catchall {:try_start_5b .. :try_end_60} :catchall_6b
44125 + .catch Ljava/lang/InterruptedException; {:try_start_5b .. :try_end_60} :catch_64
44127 - :goto_53
44128 - :try_start_53
44129 + :goto_60
44130 + :try_start_60
44131 monitor-exit v3
44132 - :try_end_54
44133 - .catchall {:try_start_53 .. :try_end_54} :catchall_5e
44134 + :try_end_61
44135 + .catchall {:try_start_60 .. :try_end_61} :catchall_6b
44137 iget-boolean v2, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mSuccess:Z
44139 - return v2
44140 + goto :goto_3d
44142 - :catch_57
44143 + :catch_64
44144 move-exception v0
44146 - :try_start_58
44147 + :try_start_65
44148 const-string v2, "interrupted while trying to update by index"
44150 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44152 - goto :goto_53
44153 + goto :goto_60
44155 - :catchall_5e
44156 + :catchall_6b
44157 move-exception v2
44159 monitor-exit v3
44160 - :try_end_60
44161 - .catchall {:try_start_58 .. :try_end_60} :catchall_5e
44162 + :try_end_6d
44163 + .catchall {:try_start_65 .. :try_end_6d} :catchall_6b
44165 throw v2
44166 .end method
44167 @@ -322,10 +348,30 @@
44169 .end annotation
44171 + const/4 v4, 0x1
44173 const-string v3, "getAllMessagesFromEF"
44175 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44177 + invoke-virtual {p0}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->getPackageName()[Ljava/lang/String;
44179 + move-result-object v3
44181 + invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->isAllowed([Ljava/lang/String;I)Z
44183 + move-result v3
44185 + if-nez v3, :cond_16
44187 + new-instance v3, Ljava/util/ArrayList;
44189 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
44191 + :goto_15
44192 + return-object v3
44194 + :cond_16
44195 iget-object v3, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
44197 invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;
44198 @@ -342,7 +388,7 @@
44200 monitor-enter v4
44202 - :try_start_15
44203 + :try_start_26
44204 iget-object v3, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
44206 const/4 v5, 0x1
44207 @@ -360,47 +406,360 @@
44208 const/16 v5, 0x6f3c
44210 invoke-virtual {v3, v5, v2}, Lcom/android/internal/telephony/IccFileHandler;->loadEFLinearFixedAll(ILandroid/os/Message;)V
44211 - :try_end_27
44212 - .catchall {:try_start_15 .. :try_end_27} :catchall_37
44213 + :try_end_38
44214 + .catchall {:try_start_26 .. :try_end_38} :catchall_48
44216 - :try_start_27
44217 + :try_start_38
44218 iget-object v3, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mLock:Ljava/lang/Object;
44220 invoke-virtual {v3}, Ljava/lang/Object;->wait()V
44221 - :try_end_2c
44222 - .catchall {:try_start_27 .. :try_end_2c} :catchall_37
44223 - .catch Ljava/lang/InterruptedException; {:try_start_27 .. :try_end_2c} :catch_30
44224 + :try_end_3d
44225 + .catchall {:try_start_38 .. :try_end_3d} :catchall_48
44226 + .catch Ljava/lang/InterruptedException; {:try_start_38 .. :try_end_3d} :catch_41
44228 - :goto_2c
44229 - :try_start_2c
44230 + :goto_3d
44231 + :try_start_3d
44232 monitor-exit v4
44233 - :try_end_2d
44234 - .catchall {:try_start_2c .. :try_end_2d} :catchall_37
44235 + :try_end_3e
44236 + .catchall {:try_start_3d .. :try_end_3e} :catchall_48
44238 iget-object v3, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mSms:Ljava/util/List;
44240 - return-object v3
44241 + goto :goto_15
44243 - :catch_30
44244 + :catch_41
44245 move-exception v1
44247 - :try_start_31
44248 + :try_start_42
44249 const-string v3, "interrupted while trying to load from the RUIM"
44251 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44253 - goto :goto_2c
44254 + goto :goto_3d
44256 - :catchall_37
44257 + :catchall_48
44258 move-exception v3
44260 monitor-exit v4
44261 - :try_end_39
44262 - .catchall {:try_start_31 .. :try_end_39} :catchall_37
44263 + :try_end_4a
44264 + .catchall {:try_start_42 .. :try_end_4a} :catchall_48
44266 throw v3
44267 .end method
44269 +.method protected getPackageName()[Ljava/lang/String;
44270 + .registers 4
44272 + iget-object v2, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mContext:Landroid/content/Context;
44274 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
44276 + move-result-object v1
44278 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
44280 + move-result v2
44282 + invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
44284 + move-result-object v0
44286 + return-object v0
44287 +.end method
44289 +.method protected isAllowed([Ljava/lang/String;I)Z
44290 + .registers 12
44292 + const/4 v8, -0x1
44294 + const/4 v4, 0x1
44296 + const/4 v3, 0x0
44298 + packed-switch p2, :pswitch_data_e8
44300 + const/4 v5, 0x0
44302 + :try_start_7
44303 + aget-object v5, p1, v5
44305 + const/4 v6, 0x0
44307 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44309 + move v3, v4
44311 + :goto_e
44312 + return v3
44314 + :pswitch_f
44315 + const/4 v2, 0x0
44317 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44319 + if-nez v5, :cond_27
44321 + new-instance v5, Landroid/privacy/PrivacySettingsManager;
44323 + const/4 v6, 0x0
44325 + const-string/jumbo v7, "privacy"
44327 + invoke-static {v7}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
44329 + move-result-object v7
44331 + invoke-static {v7}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
44333 + move-result-object v7
44335 + invoke-direct {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
44337 + iput-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44339 + :cond_27
44340 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44342 + if-eqz v5, :cond_7f
44344 + if-eqz p1, :cond_7f
44346 + const/4 v1, 0x0
44348 + :goto_2e
44349 + array-length v5, p1
44351 + if-ge v1, v5, :cond_76
44353 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44355 + aget-object v6, p1, v1
44357 + const/4 v7, -0x1
44359 + invoke-virtual {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
44361 + move-result-object v2
44363 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44365 + if-eqz v5, :cond_72
44367 + if-eqz v2, :cond_72
44369 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
44371 + move-result v5
44373 + if-eqz v5, :cond_72
44375 + aget-object v5, p1, v1
44377 + const/4 v6, 0x1
44379 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44380 + :try_end_4c
44381 + .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_4c} :catch_4d
44383 + goto :goto_e
44385 + :catch_4d
44386 + move-exception v0
44388 + const-string v5, "PrivacySMSInterfaceManager"
44390 + const-string v6, "Got exception while checking for sms or ICC acess permission"
44392 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
44394 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
44396 + if-eqz p1, :cond_70
44398 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44400 + if-eqz v5, :cond_70
44402 + array-length v5, p1
44404 + if-lez v5, :cond_70
44406 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44408 + aget-object v6, p1, v3
44410 + invoke-virtual {v5, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
44412 + move-result-object v2
44414 + if-eqz v2, :cond_70
44416 + aget-object v5, p1, v3
44418 + invoke-virtual {p0, p2, v5, v3}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44420 + :cond_70
44421 + move v3, v4
44423 + goto :goto_e
44425 + :cond_72
44426 + const/4 v2, 0x0
44428 + add-int/lit8 v1, v1, 0x1
44430 + goto :goto_2e
44432 + :cond_76
44433 + const/4 v5, 0x0
44435 + :try_start_77
44436 + aget-object v5, p1, v5
44438 + const/4 v6, 0x0
44440 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44442 + move v3, v4
44444 + goto :goto_e
44446 + :cond_7f
44447 + if-eqz p1, :cond_8b
44449 + array-length v5, p1
44451 + if-lez v5, :cond_8b
44453 + const/4 v5, 0x0
44455 + aget-object v5, p1, v5
44457 + const/4 v6, 0x0
44459 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44461 + :cond_8b
44462 + move v3, v4
44464 + goto :goto_e
44466 + :pswitch_8d
44467 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44469 + if-nez v5, :cond_a4
44471 + new-instance v5, Landroid/privacy/PrivacySettingsManager;
44473 + const/4 v6, 0x0
44475 + const-string/jumbo v7, "privacy"
44477 + invoke-static {v7}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
44479 + move-result-object v7
44481 + invoke-static {v7}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
44483 + move-result-object v7
44485 + invoke-direct {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
44487 + iput-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44489 + :cond_a4
44490 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44492 + if-eqz v5, :cond_d9
44494 + if-eqz p1, :cond_d9
44496 + const/4 v1, 0x0
44498 + :goto_ab
44499 + array-length v5, p1
44501 + if-ge v1, v5, :cond_cf
44503 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44505 + aget-object v6, p1, v1
44507 + const/4 v7, -0x1
44509 + invoke-virtual {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
44511 + move-result-object v2
44513 + iget-object v5, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44515 + if-eqz v5, :cond_cb
44517 + if-eqz v2, :cond_cb
44519 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
44521 + move-result v5
44523 + if-eqz v5, :cond_cb
44525 + aget-object v5, p1, v1
44527 + const/4 v6, 0x1
44529 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44531 + goto/16 :goto_e
44533 + :cond_cb
44534 + const/4 v2, 0x0
44536 + add-int/lit8 v1, v1, 0x1
44538 + goto :goto_ab
44540 + :cond_cf
44541 + const/4 v5, 0x0
44543 + aget-object v5, p1, v5
44545 + const/4 v6, 0x0
44547 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44549 + move v3, v4
44551 + goto/16 :goto_e
44553 + :cond_d9
44554 + if-eqz p1, :cond_e5
44556 + array-length v5, p1
44558 + if-lez v5, :cond_e5
44560 + const/4 v5, 0x0
44562 + aget-object v5, p1, v5
44564 + const/4 v6, 0x0
44566 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
44567 + :try_end_e5
44568 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_e5} :catch_4d
44570 + :cond_e5
44571 + move v3, v4
44573 + goto/16 :goto_e
44575 + :pswitch_data_e8
44576 + .packed-switch 0x0
44577 + :pswitch_f
44578 + :pswitch_8d
44579 + .end packed-switch
44580 +.end method
44582 .method protected log(Ljava/lang/String;)V
44583 .registers 5
44585 @@ -429,61 +788,128 @@
44586 return-void
44587 .end method
44589 +.method protected notify(ILjava/lang/String;B)V
44590 + .registers 11
44592 + const/4 v2, 0x0
44594 + const/4 v5, 0x0
44596 + packed-switch p1, :pswitch_data_1c
44598 + :goto_5
44599 + return-void
44601 + :pswitch_6
44602 + iget-object v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44604 + const-string v4, "SmsSend"
44606 + move-object v1, p2
44608 + move v3, p3
44610 + move-object v6, v5
44612 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
44614 + goto :goto_5
44616 + :pswitch_11
44617 + iget-object v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44619 + const-string v4, "iccAccess"
44621 + move-object v1, p2
44623 + move v3, p3
44625 + move-object v6, v5
44627 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
44629 + goto :goto_5
44631 + :pswitch_data_1c
44632 + .packed-switch 0x0
44633 + :pswitch_6
44634 + :pswitch_11
44635 + .end packed-switch
44636 +.end method
44638 .method public updateMessageOnIccEf(II[B)Z
44639 .registers 12
44641 - new-instance v0, Ljava/lang/StringBuilder;
44642 + const/4 v0, 0x0
44644 - invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
44645 + new-instance v1, Ljava/lang/StringBuilder;
44647 - const-string/jumbo v1, "updateMessageOnIccEf: index="
44648 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
44650 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44651 + const-string/jumbo v2, "updateMessageOnIccEf: index="
44653 - move-result-object v0
44654 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44656 - invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44657 + move-result-object v1
44659 - move-result-object v0
44660 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44662 - const-string v1, " status="
44663 + move-result-object v1
44665 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44666 + const-string v2, " status="
44668 - move-result-object v0
44669 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44671 - invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44672 + move-result-object v1
44674 - move-result-object v0
44675 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44677 - const-string v1, " ==> "
44678 + move-result-object v1
44680 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44681 + const-string v2, " ==> "
44683 - move-result-object v0
44684 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44686 - const-string v1, "("
44687 + move-result-object v1
44689 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44690 + const-string v2, "("
44692 - move-result-object v0
44693 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44695 - invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
44696 + move-result-object v1
44698 - move-result-object v0
44699 + invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
44701 - const-string v1, ")"
44702 + move-result-object v1
44704 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44705 + const-string v2, ")"
44707 - move-result-object v0
44708 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44710 - invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44711 + move-result-object v1
44713 - move-result-object v0
44714 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44716 - invoke-virtual {p0, v0}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44717 + move-result-object v1
44719 + invoke-virtual {p0, v1}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44721 + invoke-virtual {p0}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->getPackageName()[Ljava/lang/String;
44723 + move-result-object v1
44725 + const/4 v2, 0x1
44727 + invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->isAllowed([Ljava/lang/String;I)Z
44729 + move-result v1
44731 + if-nez v1, :cond_44
44733 + :goto_43
44734 + return v0
44736 + :cond_44
44737 const-string v0, "Updating message on RUIM"
44739 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
44740 @@ -494,7 +920,7 @@
44742 const/4 v0, 0x0
44744 - :try_start_40
44745 + :try_start_4d
44746 iput-boolean v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mSuccess:Z
44748 iget-object v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
44749 @@ -505,37 +931,37 @@
44751 move-result-object v5
44753 - if-nez p2, :cond_5b
44754 + if-nez p2, :cond_68
44756 iget-object v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
44758 iget-object v0, v0, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;
44760 invoke-interface {v0, p1, v5}, Lcom/android/internal/telephony/CommandsInterface;->deleteSmsOnRuim(ILandroid/os/Message;)V
44761 - :try_end_52
44762 - .catchall {:try_start_40 .. :try_end_52} :catchall_6d
44763 + :try_end_5f
44764 + .catchall {:try_start_4d .. :try_end_5f} :catchall_7a
44766 - :goto_52
44767 - :try_start_52
44768 + :goto_5f
44769 + :try_start_5f
44770 iget-object v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mLock:Ljava/lang/Object;
44772 invoke-virtual {v0}, Ljava/lang/Object;->wait()V
44773 - :try_end_57
44774 - .catchall {:try_start_52 .. :try_end_57} :catchall_6d
44775 - .catch Ljava/lang/InterruptedException; {:try_start_52 .. :try_end_57} :catch_70
44776 + :try_end_64
44777 + .catchall {:try_start_5f .. :try_end_64} :catchall_7a
44778 + .catch Ljava/lang/InterruptedException; {:try_start_5f .. :try_end_64} :catch_7d
44780 - :goto_57
44781 - :try_start_57
44782 + :goto_64
44783 + :try_start_64
44784 monitor-exit v7
44785 - :try_end_58
44786 - .catchall {:try_start_57 .. :try_end_58} :catchall_6d
44787 + :try_end_65
44788 + .catchall {:try_start_64 .. :try_end_65} :catchall_7a
44790 iget-boolean v0, p0, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->mSuccess:Z
44792 - return v0
44793 + goto :goto_43
44795 - :cond_5b
44796 - :try_start_5b
44797 + :cond_68
44798 + :try_start_68
44799 invoke-virtual {p0, p2, p3}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->makeSmsRecordData(I[B)[B
44801 move-result-object v3
44802 @@ -554,26 +980,26 @@
44804 invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
44806 - goto :goto_52
44807 + goto :goto_5f
44809 - :catchall_6d
44810 + :catchall_7a
44811 move-exception v0
44813 monitor-exit v7
44814 - :try_end_6f
44815 - .catchall {:try_start_5b .. :try_end_6f} :catchall_6d
44816 + :try_end_7c
44817 + .catchall {:try_start_68 .. :try_end_7c} :catchall_7a
44819 throw v0
44821 - :catch_70
44822 + :catch_7d
44823 move-exception v6
44825 - :try_start_71
44826 + :try_start_7e
44827 const-string v0, "interrupted while trying to update by index"
44829 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/cdma/RuimSmsInterfaceManager;->log(Ljava/lang/String;)V
44830 - :try_end_76
44831 - .catchall {:try_start_71 .. :try_end_76} :catchall_6d
44832 + :try_end_83
44833 + .catchall {:try_start_7e .. :try_end_83} :catchall_7a
44835 - goto :goto_57
44836 + goto :goto_64
44837 .end method
44838 diff -Npru stock-framework/smali/com/android/internal/telephony/gsm/GSMPhone.smali ext-framework/smali/com/android/internal/telephony/gsm/GSMPhone.smali
44839 --- stock-framework/smali/com/android/internal/telephony/gsm/GSMPhone.smali 2012-11-08 09:12:18.754951861 -0600
44840 +++ ext-framework/smali/com/android/internal/telephony/gsm/GSMPhone.smali 2012-11-08 09:11:56.666842326 -0600
44841 @@ -3158,7 +3158,7 @@
44842 return-void
44843 .end method
44845 -.method notifyLocationChanged()V
44846 +.method public notifyLocationChanged()V
44847 .registers 2
44849 iget-object v0, p0, Lcom/android/internal/telephony/gsm/GSMPhone;->mNotifier:Lcom/android/internal/telephony/PhoneNotifier;
44850 @@ -3176,7 +3176,7 @@
44851 return-void
44852 .end method
44854 -.method notifyPhoneStateChanged()V
44855 +.method public notifyPhoneStateChanged()V
44856 .registers 2
44858 iget-object v0, p0, Lcom/android/internal/telephony/gsm/GSMPhone;->mNotifier:Lcom/android/internal/telephony/PhoneNotifier;
44859 diff -Npru stock-framework/smali/com/android/internal/telephony/gsm/GsmServiceStateTracker.smali ext-framework/smali/com/android/internal/telephony/gsm/GsmServiceStateTracker.smali
44860 --- stock-framework/smali/com/android/internal/telephony/gsm/GsmServiceStateTracker.smali 2012-11-08 09:12:18.794952061 -0600
44861 +++ ext-framework/smali/com/android/internal/telephony/gsm/GsmServiceStateTracker.smali 2012-11-08 09:11:58.334850606 -0600
44862 @@ -54,6 +54,8 @@
44864 .field private mAutoTimeZoneObserver:Landroid/database/ContentObserver;
44866 +.field private mContext:Landroid/content/Context;
44868 .field private mDataRoaming:Z
44870 .field private mEmergencyOnly:Z
44871 @@ -104,6 +106,8 @@
44873 .field private newGPRSState:I
44875 +.field private pSetMan:Landroid/privacy/PrivacySettingsManager;
44877 .field phone:Lcom/android/internal/telephony/gsm/GSMPhone;
44880 @@ -354,6 +358,30 @@
44882 invoke-virtual {v3, v4, v1}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
44884 + invoke-virtual {p1}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
44886 + move-result-object v3
44888 + iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mContext:Landroid/content/Context;
44890 + new-instance v3, Landroid/privacy/PrivacySettingsManager;
44892 + iget-object v4, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mContext:Landroid/content/Context;
44894 + const-string/jumbo v5, "privacy"
44896 + invoke-static {v5}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
44898 + move-result-object v5
44900 + invoke-static {v5}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
44902 + move-result-object v5
44904 + invoke-direct {v3, v4, v5}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
44906 + iput-object v3, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
44908 const/4 v3, 0x3
44910 invoke-virtual {p1, v3}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyOtaspChanged(I)V
44911 @@ -5986,1422 +6014,2004 @@
44912 .end method
44914 .method public handleMessage(Landroid/os/Message;)V
44915 - .registers 19
44916 + .registers 24
44918 move-object/from16 v0, p0
44920 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
44921 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
44923 - iget-boolean v13, v13, Lcom/android/internal/telephony/gsm/GSMPhone;->mIsTheCurrentActivePhone:Z
44924 + move-object/from16 v18, v0
44926 - if-nez v13, :cond_37
44927 + move-object/from16 v0, v18
44929 - const-string v13, "GSM"
44930 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mIsTheCurrentActivePhone:Z
44932 - new-instance v14, Ljava/lang/StringBuilder;
44933 + move/from16 v18, v0
44935 - invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
44936 + if-nez v18, :cond_41
44938 - const-string v15, "Received message "
44939 + const-string v18, "GSM"
44941 - invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44942 + new-instance v19, Ljava/lang/StringBuilder;
44944 - move-result-object v14
44945 + invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;-><init>()V
44947 - move-object/from16 v0, p1
44948 + const-string v20, "Received message "
44950 + invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44952 + move-result-object v19
44954 + move-object/from16 v0, v19
44956 + move-object/from16 v1, p1
44958 - invoke-virtual {v14, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
44959 + invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
44961 - move-result-object v14
44962 + move-result-object v19
44964 - const-string v15, "["
44965 + const-string v20, "["
44967 - invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44968 + invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44970 - move-result-object v14
44971 + move-result-object v19
44973 move-object/from16 v0, p1
44975 - iget v15, v0, Landroid/os/Message;->what:I
44976 + iget v0, v0, Landroid/os/Message;->what:I
44978 - invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44979 + move/from16 v20, v0
44981 - move-result-object v14
44982 + invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
44984 - const-string v15, "] while being destroyed. Ignoring."
44985 + move-result-object v19
44987 - invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44988 + const-string v20, "] while being destroyed. Ignoring."
44990 - move-result-object v14
44991 + invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
44993 - invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44994 + move-result-object v19
44996 - move-result-object v14
44997 + invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
44999 - invoke-static {v13, v14}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
45000 + move-result-object v19
45002 - :cond_36
45003 - :goto_36
45004 - :pswitch_36
45005 + invoke-static/range {v18 .. v19}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
45007 + :cond_40
45008 + :goto_40
45009 + :pswitch_40
45010 return-void
45012 - :cond_37
45013 + :cond_41
45014 move-object/from16 v0, p1
45016 - iget v13, v0, Landroid/os/Message;->what:I
45017 + iget v0, v0, Landroid/os/Message;->what:I
45019 - packed-switch v13, :pswitch_data_272
45020 + move/from16 v18, v0
45022 - :pswitch_3e
45023 + packed-switch v18, :pswitch_data_390
45025 + :pswitch_4a
45026 invoke-super/range {p0 .. p1}, Lcom/android/internal/telephony/ServiceStateTracker;->handleMessage(Landroid/os/Message;)V
45028 - goto :goto_36
45029 + goto :goto_40
45031 - :pswitch_42
45032 + :pswitch_4e
45033 move-object/from16 v0, p0
45035 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45036 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45038 + move-object/from16 v18, v0
45040 - invoke-interface {v13}, Lcom/android/internal/telephony/CommandsInterface;->setCurrentPreferredNetworkType()V
45041 + invoke-interface/range {v18 .. v18}, Lcom/android/internal/telephony/CommandsInterface;->setCurrentPreferredNetworkType()V
45043 move-object/from16 v0, p0
45045 - iget-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
45046 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
45048 - if-eqz v13, :cond_62
45049 + move/from16 v18, v0
45051 + if-eqz v18, :cond_82
45053 move-object/from16 v0, p0
45055 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45056 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45058 + move-object/from16 v18, v0
45060 - iget-object v13, v13, Lcom/android/internal/telephony/gsm/GSMPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
45061 + move-object/from16 v0, v18
45063 - const/16 v14, 0x10
45064 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GSMPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
45066 - const/4 v15, 0x0
45067 + move-object/from16 v18, v0
45069 - move-object/from16 v0, p0
45070 + const/16 v19, 0x10
45072 - invoke-virtual {v13, v0, v14, v15}, Lcom/android/internal/telephony/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
45073 + const/16 v20, 0x0
45075 - const/4 v13, 0x0
45076 + move-object/from16 v0, v18
45078 - move-object/from16 v0, p0
45079 + move-object/from16 v1, p0
45081 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
45082 + move/from16 v2, v19
45084 - :cond_62
45085 + move-object/from16 v3, v20
45087 + invoke-virtual {v0, v1, v2, v3}, Lcom/android/internal/telephony/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
45089 + const/16 v18, 0x0
45091 + move/from16 v0, v18
45093 + move-object/from16 v1, p0
45095 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNeedToRegForSimLoaded:Z
45097 + :cond_82
45098 move-object/from16 v0, p0
45100 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45101 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45103 - invoke-virtual {v13}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
45104 + move-object/from16 v18, v0
45106 - move-result-object v13
45107 + invoke-virtual/range {v18 .. v18}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
45109 - invoke-virtual {v13}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
45110 + move-result-object v18
45112 - move-result-object v13
45113 + invoke-virtual/range {v18 .. v18}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
45115 - const v14, 0x111002f
45116 + move-result-object v18
45118 - invoke-virtual {v13, v14}, Landroid/content/res/Resources;->getBoolean(I)Z
45119 + const v19, 0x111002f
45121 - move-result v10
45122 + invoke-virtual/range {v18 .. v19}, Landroid/content/res/Resources;->getBoolean(I)Z
45124 + move-result v14
45126 - if-nez v10, :cond_7f
45127 + if-nez v14, :cond_a4
45129 move-object/from16 v0, p0
45131 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45132 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45134 + move-object/from16 v18, v0
45136 - const/4 v14, 0x0
45137 + const/16 v19, 0x0
45139 - invoke-virtual {v13, v14}, Lcom/android/internal/telephony/gsm/GSMPhone;->restoreSavedNetworkSelection(Landroid/os/Message;)V
45140 + invoke-virtual/range {v18 .. v19}, Lcom/android/internal/telephony/gsm/GSMPhone;->restoreSavedNetworkSelection(Landroid/os/Message;)V
45142 - :cond_7f
45143 + :cond_a4
45144 invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
45146 invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->queueNextSignalStrengthPoll()V
45148 - goto :goto_36
45149 + goto :goto_40
45151 - :pswitch_86
45152 + :pswitch_ab
45153 invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setPowerStateToDesired()V
45155 invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
45157 - goto :goto_36
45158 + goto :goto_40
45160 - :pswitch_8d
45161 + :pswitch_b2
45162 invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollState()V
45164 - goto :goto_36
45165 + goto :goto_40
45167 - :pswitch_91
45168 + :pswitch_b6
45169 move-object/from16 v0, p0
45171 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45172 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45174 - invoke-interface {v13}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
45175 + move-object/from16 v18, v0
45177 - move-result-object v13
45178 + invoke-interface/range {v18 .. v18}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
45180 - invoke-virtual {v13}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
45181 + move-result-object v18
45183 - move-result v13
45184 + invoke-virtual/range {v18 .. v18}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
45186 - if-eqz v13, :cond_36
45187 + move-result v18
45189 + if-eqz v18, :cond_40
45191 move-object/from16 v0, p1
45193 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45194 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45196 - check-cast v1, Landroid/os/AsyncResult;
45197 + check-cast v4, Landroid/os/AsyncResult;
45199 move-object/from16 v0, p0
45201 - invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)V
45202 + invoke-direct {v0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)V
45204 invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->queueNextSignalStrengthPoll()V
45206 - goto :goto_36
45207 + goto/16 :goto_40
45209 - :pswitch_ae
45210 + :pswitch_d6
45211 move-object/from16 v0, p1
45213 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45214 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45216 - check-cast v1, Landroid/os/AsyncResult;
45217 + check-cast v4, Landroid/os/AsyncResult;
45219 - iget-object v13, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45220 + iget-object v0, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45222 - if-nez v13, :cond_101
45223 + move-object/from16 v18, v0
45225 - iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45226 + if-nez v18, :cond_16b
45228 - check-cast v13, [Ljava/lang/String;
45229 + iget-object v0, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45231 - move-object v11, v13
45232 + move-object/from16 v18, v0
45234 - check-cast v11, [Ljava/lang/String;
45235 + check-cast v18, [Ljava/lang/String;
45237 - const/4 v4, -0x1
45238 + move-object/from16 v15, v18
45240 - const/4 v2, -0x1
45241 + check-cast v15, [Ljava/lang/String;
45243 + const/4 v7, -0x1
45245 - array-length v13, v11
45246 + const/4 v5, -0x1
45248 - const/4 v14, 0x3
45249 + array-length v0, v15
45251 - if-lt v13, v14, :cond_f3
45252 + move/from16 v18, v0
45254 - const/4 v13, 0x1
45255 + const/16 v19, 0x3
45257 - :try_start_c6
45258 - aget-object v13, v11, v13
45259 + move/from16 v0, v18
45261 - if-eqz v13, :cond_dc
45262 + move/from16 v1, v19
45264 - const/4 v13, 0x1
45265 + if-lt v0, v1, :cond_12d
45267 - aget-object v13, v11, v13
45268 + const/16 v18, 0x1
45270 + :try_start_fb
45271 + aget-object v18, v15, v18
45273 - invoke-virtual {v13}, Ljava/lang/String;->length()I
45274 + if-eqz v18, :cond_113
45276 - move-result v13
45277 + const/16 v18, 0x1
45279 - if-lez v13, :cond_dc
45280 + aget-object v18, v15, v18
45282 - const/4 v13, 0x1
45283 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->length()I
45285 - aget-object v13, v11, v13
45286 + move-result v18
45288 - const/16 v14, 0x10
45289 + if-lez v18, :cond_113
45291 - invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
45292 + const/16 v18, 0x1
45294 - move-result v4
45295 + aget-object v18, v15, v18
45297 - :cond_dc
45298 - const/4 v13, 0x2
45299 + const/16 v19, 0x10
45301 - aget-object v13, v11, v13
45302 + invoke-static/range {v18 .. v19}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
45304 - if-eqz v13, :cond_f3
45305 + move-result v7
45307 - const/4 v13, 0x2
45308 + :cond_113
45309 + const/16 v18, 0x2
45311 - aget-object v13, v11, v13
45312 + aget-object v18, v15, v18
45314 - invoke-virtual {v13}, Ljava/lang/String;->length()I
45315 + if-eqz v18, :cond_12d
45317 - move-result v13
45318 + const/16 v18, 0x2
45320 - if-lez v13, :cond_f3
45321 + aget-object v18, v15, v18
45323 - const/4 v13, 0x2
45324 + invoke-virtual/range {v18 .. v18}, Ljava/lang/String;->length()I
45326 - aget-object v13, v11, v13
45327 + move-result v18
45329 - const/16 v14, 0x10
45330 + if-lez v18, :cond_12d
45332 - invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
45333 - :try_end_f2
45334 - .catch Ljava/lang/NumberFormatException; {:try_start_c6 .. :try_end_f2} :catch_106
45335 + const/16 v18, 0x2
45337 - move-result v2
45338 + aget-object v18, v15, v18
45340 - :cond_f3
45341 - :goto_f3
45342 - move-object/from16 v0, p0
45343 + const/16 v19, 0x10
45345 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
45346 + invoke-static/range {v18 .. v19}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
45347 + :try_end_12c
45348 + .catch Ljava/lang/NumberFormatException; {:try_start_fb .. :try_end_12c} :catch_170
45350 - invoke-virtual {v13, v4, v2}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
45351 + move-result v5
45353 + :cond_12d
45354 + :goto_12d
45355 move-object/from16 v0, p0
45357 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45358 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
45360 - invoke-virtual {v13}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
45362 - :cond_101
45363 - invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->disableSingleLocationUpdate()V
45364 + move-object/from16 v18, v0
45366 - goto/16 :goto_36
45367 + move-object/from16 v0, p0
45369 - :catch_106
45370 - move-exception v3
45371 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mContext:Landroid/content/Context;
45373 - const-string v13, "GSM"
45374 + move-object/from16 v19, v0
45376 - new-instance v14, Ljava/lang/StringBuilder;
45377 + invoke-virtual/range {v19 .. v19}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
45379 - invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
45380 + move-result-object v19
45382 - const-string v15, "error parsing location: "
45383 + const/16 v20, 0x0
45385 - invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45386 + invoke-virtual/range {v18 .. v20}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
45388 - move-result-object v14
45389 + move-result-object v13
45391 - invoke-virtual {v14, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45392 + move-object/from16 v0, p0
45394 - move-result-object v14
45395 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
45397 - invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
45398 + move-object/from16 v18, v0
45400 - move-result-object v14
45401 + if-eqz v18, :cond_18c
45403 - invoke-static {v13, v14}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
45404 + if-eqz v13, :cond_18c
45406 - goto :goto_f3
45407 + invoke-virtual {v13}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
45409 - :pswitch_120
45410 - move-object/from16 v0, p1
45411 + move-result v18
45413 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45414 + const/16 v19, 0x1
45416 - check-cast v1, Landroid/os/AsyncResult;
45417 + move/from16 v0, v18
45419 - move-object/from16 v0, p1
45420 + move/from16 v1, v19
45422 - iget v13, v0, Landroid/os/Message;->what:I
45423 + if-ne v0, v1, :cond_18c
45425 move-object/from16 v0, p0
45427 - invoke-virtual {v0, v13, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->handlePollStateResult(ILandroid/os/AsyncResult;)V
45428 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
45430 + move-object/from16 v18, v0
45432 - goto/16 :goto_36
45433 + invoke-virtual/range {v18 .. v18}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
45435 - :pswitch_131
45436 move-object/from16 v0, p0
45438 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45439 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45441 - const/4 v14, 0x3
45442 + move-object/from16 v18, v0
45444 - move-object/from16 v0, p0
45445 + invoke-virtual/range {v18 .. v18}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
45447 - invoke-virtual {v0, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
45448 + :cond_16b
45449 + :goto_16b
45450 + invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->disableSingleLocationUpdate()V
45452 - move-result-object v14
45453 + goto/16 :goto_40
45455 - invoke-interface {v13, v14}, Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
45456 + :catch_170
45457 + move-exception v6
45459 - goto/16 :goto_36
45460 + const-string v18, "GSM"
45462 - :pswitch_141
45463 - move-object/from16 v0, p1
45464 + new-instance v19, Ljava/lang/StringBuilder;
45466 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45467 + invoke-direct/range {v19 .. v19}, Ljava/lang/StringBuilder;-><init>()V
45469 - check-cast v1, Landroid/os/AsyncResult;
45470 + const-string v20, "error parsing location: "
45472 - iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45473 + invoke-virtual/range {v19 .. v20}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
45475 - check-cast v13, [Ljava/lang/Object;
45476 + move-result-object v19
45478 - check-cast v13, [Ljava/lang/Object;
45479 + move-object/from16 v0, v19
45481 - const/4 v14, 0x0
45482 + invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
45484 - aget-object v9, v13, v14
45485 + move-result-object v19
45487 - check-cast v9, Ljava/lang/String;
45488 + invoke-virtual/range {v19 .. v19}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
45490 - iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45491 + move-result-object v19
45493 - check-cast v13, [Ljava/lang/Object;
45494 + invoke-static/range {v18 .. v19}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
45496 - check-cast v13, [Ljava/lang/Object;
45497 + goto :goto_12d
45499 - const/4 v14, 0x1
45500 + :cond_18c
45501 + move-object/from16 v0, p0
45503 - aget-object v13, v13, v14
45504 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
45506 - check-cast v13, Ljava/lang/Long;
45507 + move-object/from16 v18, v0
45509 - invoke-virtual {v13}, Ljava/lang/Long;->longValue()J
45510 + if-eqz v18, :cond_1c2
45512 - move-result-wide v7
45513 + if-eqz v13, :cond_1c2
45515 - move-object/from16 v0, p0
45516 + invoke-virtual {v13}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
45518 - invoke-direct {v0, v9, v7, v8}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setTimeFromNITZString(Ljava/lang/String;J)V
45519 + move-result v18
45521 - goto/16 :goto_36
45522 + const/16 v19, 0x3
45524 - :pswitch_168
45525 - move-object/from16 v0, p1
45526 + move/from16 v0, v18
45528 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45529 + move/from16 v1, v19
45531 - check-cast v1, Landroid/os/AsyncResult;
45532 + if-ne v0, v1, :cond_1c2
45534 - const/4 v13, 0x1
45535 + new-instance v17, Ljava/util/Random;
45537 + invoke-direct/range {v17 .. v17}, Ljava/util/Random;-><init>()V
45539 move-object/from16 v0, p0
45541 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->dontPollSignalStrength:Z
45542 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
45544 - move-object/from16 v0, p0
45545 + move-object/from16 v18, v0
45547 - invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)V
45548 + invoke-virtual/range {v17 .. v17}, Ljava/util/Random;->nextInt()I
45550 - goto/16 :goto_36
45551 + move-result v19
45553 - :pswitch_17a
45554 - invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateSpnDisplay()V
45555 + invoke-virtual/range {v17 .. v17}, Ljava/util/Random;->nextInt()I
45557 - goto/16 :goto_36
45558 + move-result v20
45560 - :pswitch_17f
45561 - move-object/from16 v0, p1
45562 + invoke-virtual/range {v18 .. v20}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
45564 + move-object/from16 v0, p0
45566 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45567 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45569 - check-cast v1, Landroid/os/AsyncResult;
45570 + move-object/from16 v18, v0
45572 - iget-object v13, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45573 + invoke-virtual/range {v18 .. v18}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
45575 - if-nez v13, :cond_36
45576 + goto :goto_16b
45578 + :cond_1c2
45579 move-object/from16 v0, p0
45581 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45582 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cellLoc:Landroid/telephony/gsm/GsmCellLocation;
45584 - const/16 v14, 0xf
45585 + move-object/from16 v18, v0
45587 - const/4 v15, 0x0
45588 + move-object/from16 v0, v18
45590 + invoke-virtual {v0, v7, v5}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
45592 move-object/from16 v0, p0
45594 - invoke-virtual {v0, v14, v15}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
45595 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45597 - move-result-object v14
45598 + move-object/from16 v18, v0
45600 - invoke-interface {v13, v14}, Lcom/android/internal/telephony/CommandsInterface;->getVoiceRegistrationState(Landroid/os/Message;)V
45601 + invoke-virtual/range {v18 .. v18}, Lcom/android/internal/telephony/gsm/GSMPhone;->notifyLocationChanged()V
45603 - goto/16 :goto_36
45604 + goto :goto_16b
45606 - :pswitch_19b
45607 + :pswitch_1d7
45608 move-object/from16 v0, p1
45610 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45611 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45613 + check-cast v4, Landroid/os/AsyncResult;
45615 - check-cast v1, Landroid/os/AsyncResult;
45616 + move-object/from16 v0, p1
45618 - const/16 v13, 0x15
45619 + iget v0, v0, Landroid/os/Message;->what:I
45621 - iget-object v14, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45622 + move/from16 v18, v0
45624 move-object/from16 v0, p0
45626 - invoke-virtual {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
45628 - move-result-object v6
45629 + move/from16 v1, v18
45631 - move-object/from16 v0, p0
45632 + invoke-virtual {v0, v1, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->handlePollStateResult(ILandroid/os/AsyncResult;)V
45634 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45635 + goto/16 :goto_40
45637 + :pswitch_1ec
45638 move-object/from16 v0, p0
45640 - iget v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
45641 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45643 - invoke-interface {v13, v14, v6}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
45644 + move-object/from16 v18, v0
45646 - goto/16 :goto_36
45647 + const/16 v19, 0x3
45649 - :pswitch_1b8
45650 - move-object/from16 v0, p1
45651 + move-object/from16 v0, p0
45653 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45654 + move/from16 v1, v19
45656 - check-cast v1, Landroid/os/AsyncResult;
45657 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(I)Landroid/os/Message;
45659 - iget-object v13, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45660 + move-result-object v19
45662 - if-eqz v13, :cond_36
45663 + invoke-interface/range {v18 .. v19}, Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
45665 - iget-object v13, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45666 + goto/16 :goto_40
45668 - check-cast v13, Landroid/os/Message;
45669 + :pswitch_201
45670 + move-object/from16 v0, p1
45672 - invoke-static {v13}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
45673 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45675 - move-result-object v13
45676 + check-cast v4, Landroid/os/AsyncResult;
45678 - iget-object v14, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45679 + iget-object v0, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45681 - iput-object v14, v13, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45682 + move-object/from16 v18, v0
45684 - iget-object v13, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45685 + check-cast v18, [Ljava/lang/Object;
45687 - check-cast v13, Landroid/os/Message;
45688 + check-cast v18, [Ljava/lang/Object;
45690 - invoke-virtual {v13}, Landroid/os/Message;->sendToTarget()V
45691 + const/16 v19, 0x0
45693 - goto/16 :goto_36
45694 + aget-object v12, v18, v19
45696 - :pswitch_1d7
45697 - move-object/from16 v0, p1
45698 + check-cast v12, Ljava/lang/String;
45700 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45701 + iget-object v0, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45703 - check-cast v1, Landroid/os/AsyncResult;
45704 + move-object/from16 v18, v0
45706 - iget-object v13, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45707 + check-cast v18, [Ljava/lang/Object;
45709 - if-nez v13, :cond_202
45710 + check-cast v18, [Ljava/lang/Object;
45712 - iget-object v13, v1, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
45713 + const/16 v19, 0x1
45715 - check-cast v13, [I
45716 + aget-object v18, v18, v19
45718 - check-cast v13, [I
45719 + check-cast v18, Ljava/lang/Long;
45721 - const/4 v14, 0x0
45722 + invoke-virtual/range {v18 .. v18}, Ljava/lang/Long;->longValue()J
45724 - aget v13, v13, v14
45725 + move-result-wide v10
45727 move-object/from16 v0, p0
45729 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
45730 + invoke-direct {v0, v12, v10, v11}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->setTimeFromNITZString(Ljava/lang/String;J)V
45732 - :goto_1ee
45733 - const/16 v13, 0x14
45734 + goto/16 :goto_40
45736 - iget-object v14, v1, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45737 + :pswitch_22e
45738 + move-object/from16 v0, p1
45740 - move-object/from16 v0, p0
45741 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45743 - invoke-virtual {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
45744 + check-cast v4, Landroid/os/AsyncResult;
45746 - move-result-object v6
45747 + const/16 v18, 0x1
45749 - const/4 v12, 0x7
45750 + move/from16 v0, v18
45752 - move-object/from16 v0, p0
45753 + move-object/from16 v1, p0
45755 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45756 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->dontPollSignalStrength:Z
45758 - invoke-interface {v13, v12, v6}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
45759 + move-object/from16 v0, p0
45761 - goto/16 :goto_36
45762 + invoke-direct {v0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)V
45764 - :cond_202
45765 - const/4 v13, 0x7
45766 + goto/16 :goto_40
45768 - move-object/from16 v0, p0
45769 + :pswitch_243
45770 + invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->updateSpnDisplay()V
45772 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
45773 + goto/16 :goto_40
45775 - goto :goto_1ee
45776 + :pswitch_248
45777 + move-object/from16 v0, p1
45779 - :pswitch_208
45780 - move-object/from16 v0, p0
45781 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45783 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
45784 + check-cast v4, Landroid/os/AsyncResult;
45786 - if-eqz v13, :cond_255
45787 + iget-object v0, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45789 - move-object/from16 v0, p0
45790 + move-object/from16 v18, v0
45792 - iget v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
45793 + if-nez v18, :cond_40
45795 move-object/from16 v0, p0
45797 - iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
45798 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45800 - invoke-virtual {v14}, Landroid/telephony/ServiceState;->getState()I
45801 + move-object/from16 v18, v0
45803 - move-result v14
45804 + const/16 v19, 0xf
45806 + const/16 v20, 0x0
45808 move-object/from16 v0, p0
45810 - invoke-direct {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isGprsConsistent(II)Z
45811 + move/from16 v1, v19
45813 - move-result v13
45814 + move-object/from16 v2, v20
45816 - if-nez v13, :cond_255
45817 + invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
45819 - move-object/from16 v0, p0
45820 + move-result-object v19
45822 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
45823 + invoke-interface/range {v18 .. v19}, Lcom/android/internal/telephony/CommandsInterface;->getVoiceRegistrationState(Landroid/os/Message;)V
45825 - invoke-virtual {v13}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
45826 + goto/16 :goto_40
45828 - move-result-object v5
45829 + :pswitch_26d
45830 + move-object/from16 v0, p1
45832 - check-cast v5, Landroid/telephony/gsm/GsmCellLocation;
45833 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45835 - const v14, 0xc3bb
45836 + check-cast v4, Landroid/os/AsyncResult;
45838 - const/4 v13, 0x2
45839 + const/16 v18, 0x15
45841 - new-array v15, v13, [Ljava/lang/Object;
45842 + iget-object v0, v4, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45844 - const/4 v13, 0x0
45845 + move-object/from16 v19, v0
45847 move-object/from16 v0, p0
45849 - iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
45850 + move/from16 v1, v18
45852 - move-object/from16 v16, v0
45853 + move-object/from16 v2, v19
45855 - invoke-virtual/range {v16 .. v16}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
45856 + invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
45858 - move-result-object v16
45859 + move-result-object v9
45861 - aput-object v16, v15, v13
45862 + move-object/from16 v0, p0
45864 - const/16 v16, 0x1
45865 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
45867 - if-eqz v5, :cond_25c
45868 + move-object/from16 v18, v0
45870 - invoke-virtual {v5}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I
45871 + move-object/from16 v0, p0
45873 - move-result v13
45874 + iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
45876 - :goto_247
45877 - invoke-static {v13}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
45878 + move/from16 v19, v0
45880 - move-result-object v13
45881 + move-object/from16 v0, v18
45883 - aput-object v13, v15, v16
45884 + move/from16 v1, v19
45886 - invoke-static {v14, v15}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
45887 + invoke-interface {v0, v1, v9}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
45889 - const/4 v13, 0x1
45890 + goto/16 :goto_40
45892 - move-object/from16 v0, p0
45893 + :pswitch_298
45894 + move-object/from16 v0, p1
45896 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
45897 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45899 - :cond_255
45900 - const/4 v13, 0x0
45901 + check-cast v4, Landroid/os/AsyncResult;
45903 - move-object/from16 v0, p0
45904 + iget-object v0, v4, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45906 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
45907 + move-object/from16 v18, v0
45909 - goto/16 :goto_36
45910 + if-eqz v18, :cond_40
45912 - :cond_25c
45913 - const/4 v13, -0x1
45914 + iget-object v0, v4, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45916 - goto :goto_247
45917 + move-object/from16 v18, v0
45919 - :pswitch_25e
45920 - const-string v13, "EVENT_RESTRICTED_STATE_CHANGED"
45921 + check-cast v18, Landroid/os/Message;
45923 - move-object/from16 v0, p0
45924 + invoke-static/range {v18 .. v18}, Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
45926 - invoke-virtual {v0, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
45927 + move-result-object v18
45929 - move-object/from16 v0, p1
45930 + iget-object v0, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45932 - iget-object v1, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45933 + move-object/from16 v19, v0
45935 - check-cast v1, Landroid/os/AsyncResult;
45936 + move-object/from16 v0, v19
45938 - move-object/from16 v0, p0
45939 + move-object/from16 v1, v18
45941 - invoke-direct {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onRestrictedStateChanged(Landroid/os/AsyncResult;)V
45942 + iput-object v0, v1, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
45944 - goto/16 :goto_36
45945 + iget-object v0, v4, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45947 - :pswitch_data_272
45948 - .packed-switch 0x1
45949 - :pswitch_86
45950 - :pswitch_8d
45951 - :pswitch_91
45952 - :pswitch_120
45953 - :pswitch_120
45954 - :pswitch_120
45955 - :pswitch_3e
45956 - :pswitch_3e
45957 - :pswitch_3e
45958 - :pswitch_131
45959 - :pswitch_141
45960 - :pswitch_168
45961 - :pswitch_36
45962 - :pswitch_120
45963 - :pswitch_ae
45964 - :pswitch_17a
45965 - :pswitch_42
45966 - :pswitch_17f
45967 - :pswitch_1d7
45968 - :pswitch_19b
45969 - :pswitch_1b8
45970 - :pswitch_208
45971 - :pswitch_25e
45972 - .end packed-switch
45973 -.end method
45974 + move-object/from16 v18, v0
45976 -.method protected handlePollStateResult(ILandroid/os/AsyncResult;)V
45977 - .registers 20
45978 + check-cast v18, Landroid/os/Message;
45980 - move-object/from16 v0, p2
45981 + invoke-virtual/range {v18 .. v18}, Landroid/os/Message;->sendToTarget()V
45983 - iget-object v13, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
45984 + goto/16 :goto_40
45986 - move-object/from16 v0, p0
45987 + :pswitch_2c3
45988 + move-object/from16 v0, p1
45990 - iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
45991 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
45993 - if-eq v13, v14, :cond_b
45994 + check-cast v4, Landroid/os/AsyncResult;
45996 - :cond_a
45997 - :goto_a
45998 - return-void
45999 + iget-object v0, v4, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46001 - :cond_b
46002 - move-object/from16 v0, p2
46003 + move-object/from16 v18, v0
46005 - iget-object v13, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46006 + if-nez v18, :cond_302
46008 - if-eqz v13, :cond_af
46009 + iget-object v0, v4, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
46011 - const/4 v2, 0x0
46012 + move-object/from16 v18, v0
46014 - move-object/from16 v0, p2
46015 + check-cast v18, [I
46017 - iget-object v13, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46018 + check-cast v18, [I
46020 - instance-of v13, v13, Lcom/android/internal/telephony/CommandException;
46021 + const/16 v19, 0x0
46023 - if-eqz v13, :cond_26
46024 + aget v18, v18, v19
46026 - move-object/from16 v0, p2
46027 + move/from16 v0, v18
46029 - iget-object v13, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46030 + move-object/from16 v1, p0
46032 - check-cast v13, Lcom/android/internal/telephony/CommandException;
46033 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
46035 - check-cast v13, Lcom/android/internal/telephony/CommandException;
46036 + :goto_2e1
46037 + const/16 v18, 0x14
46039 - invoke-virtual {v13}, Lcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
46040 + iget-object v0, v4, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
46042 - move-result-object v2
46043 + move-object/from16 v19, v0
46045 - :cond_26
46046 - sget-object v13, Lcom/android/internal/telephony/CommandException$Error;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/CommandException$Error;
46047 + move-object/from16 v0, p0
46049 - if-ne v2, v13, :cond_2e
46050 + move/from16 v1, v18
46052 - invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
46053 + move-object/from16 v2, v19
46055 + invoke-virtual {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
46057 + move-result-object v9
46059 - goto :goto_a
46060 + const/16 v16, 0x7
46062 - :cond_2e
46063 move-object/from16 v0, p0
46065 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
46066 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
46068 - invoke-interface {v13}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
46069 + move-object/from16 v18, v0
46071 - move-result-object v13
46072 + move-object/from16 v0, v18
46074 - invoke-virtual {v13}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
46075 + move/from16 v1, v16
46077 - move-result v13
46078 + invoke-interface {v0, v1, v9}, Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
46080 - if-nez v13, :cond_40
46081 + goto/16 :goto_40
46083 - invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
46084 + :cond_302
46085 + const/16 v18, 0x7
46087 - goto :goto_a
46088 + move/from16 v0, v18
46090 - :cond_40
46091 - sget-object v13, Lcom/android/internal/telephony/CommandException$Error;->OP_NOT_ALLOWED_BEFORE_REG_NW:Lcom/android/internal/telephony/CommandException$Error;
46092 + move-object/from16 v1, p0
46094 - if-eq v2, v13, :cond_60
46095 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mPreferredNetworkType:I
46097 - new-instance v13, Ljava/lang/StringBuilder;
46098 + goto :goto_2e1
46100 - invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
46101 + :pswitch_30b
46102 + move-object/from16 v0, p0
46104 - const-string v14, "RIL implementation has returned an error where it must succeed"
46105 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
46107 - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46108 + move-object/from16 v18, v0
46110 - move-result-object v13
46111 + if-eqz v18, :cond_36d
46113 - move-object/from16 v0, p2
46114 + move-object/from16 v0, p0
46116 - iget-object v14, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46117 + iget v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->gprsState:I
46119 - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
46120 + move/from16 v18, v0
46122 - move-result-object v13
46123 + move-object/from16 v0, p0
46125 - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46126 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
46128 - move-result-object v13
46129 + move-object/from16 v19, v0
46131 - move-object/from16 v0, p0
46132 + invoke-virtual/range {v19 .. v19}, Landroid/telephony/ServiceState;->getState()I
46134 - invoke-virtual {v0, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
46135 + move-result v19
46137 - :cond_60
46138 - :goto_60
46139 move-object/from16 v0, p0
46141 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
46142 + move/from16 v1, v18
46144 - const/4 v14, 0x0
46145 + move/from16 v2, v19
46147 - aget v15, v13, v14
46148 + invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isGprsConsistent(II)Z
46150 - add-int/lit8 v15, v15, -0x1
46151 + move-result v18
46153 - aput v15, v13, v14
46154 + if-nez v18, :cond_36d
46156 move-object/from16 v0, p0
46158 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
46159 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
46161 - const/4 v14, 0x0
46162 + move-object/from16 v18, v0
46164 - aget v13, v13, v14
46165 + invoke-virtual/range {v18 .. v18}, Lcom/android/internal/telephony/gsm/GSMPhone;->getCellLocation()Landroid/telephony/CellLocation;
46167 - if-nez v13, :cond_a
46168 + move-result-object v8
46170 - move-object/from16 v0, p0
46171 + check-cast v8, Landroid/telephony/gsm/GsmCellLocation;
46173 - iget-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46174 + const v19, 0xc3bb
46176 - if-nez v13, :cond_80
46177 + const/16 v18, 0x2
46179 - move-object/from16 v0, p0
46180 + move/from16 v0, v18
46182 - iget-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
46183 + new-array v0, v0, [Ljava/lang/Object;
46185 - if-eqz v13, :cond_25f
46186 + move-object/from16 v20, v0
46188 - :cond_80
46189 - const/4 v10, 0x1
46190 + const/16 v18, 0x0
46192 - :goto_81
46193 move-object/from16 v0, p0
46195 - iget-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46196 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
46198 - if-eqz v13, :cond_98
46199 + move-object/from16 v21, v0
46201 - move-object/from16 v0, p0
46202 + invoke-virtual/range {v21 .. v21}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
46204 - iget-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46205 + move-result-object v21
46207 - move-object/from16 v0, p0
46208 + aput-object v21, v20, v18
46210 - iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46211 + const/16 v21, 0x1
46213 - move-object/from16 v0, p0
46214 + if-eqz v8, :cond_377
46216 - invoke-direct {v0, v13, v14}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
46217 + invoke-virtual {v8}, Landroid/telephony/gsm/GsmCellLocation;->getCid()I
46219 - move-result v13
46220 + move-result v18
46222 - if-nez v13, :cond_98
46223 + :goto_35c
46224 + invoke-static/range {v18 .. v18}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
46226 - const/4 v10, 0x0
46227 + move-result-object v18
46229 - :cond_98
46230 - move-object/from16 v0, p0
46231 + aput-object v18, v20, v21
46233 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46234 + invoke-static/range {v19 .. v20}, Landroid/util/EventLog;->writeEvent(I[Ljava/lang/Object;)I
46236 - invoke-virtual {v13, v10}, Landroid/telephony/ServiceState;->setRoaming(Z)V
46237 + const/16 v18, 0x1
46239 - move-object/from16 v0, p0
46240 + move/from16 v0, v18
46242 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46243 + move-object/from16 v1, p0
46245 - move-object/from16 v0, p0
46246 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mReportedGprsNoReg:Z
46248 - iget-boolean v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
46249 + :cond_36d
46250 + const/16 v18, 0x0
46252 - invoke-virtual {v13, v14}, Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V
46253 + move/from16 v0, v18
46255 - invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
46256 + move-object/from16 v1, p0
46258 - goto/16 :goto_a
46259 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mStartedGprsRegCheck:Z
46261 - :cond_af
46262 - sparse-switch p1, :sswitch_data_262
46263 + goto/16 :goto_40
46265 - goto :goto_60
46266 + :cond_377
46267 + const/16 v18, -0x1
46269 - :sswitch_b3
46270 - :try_start_b3
46271 - move-object/from16 v0, p2
46272 + goto :goto_35c
46274 - iget-object v13, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
46275 + :pswitch_37a
46276 + const-string v18, "EVENT_RESTRICTED_STATE_CHANGED"
46278 - check-cast v13, [Ljava/lang/String;
46279 + move-object/from16 v0, p0
46281 - move-object v0, v13
46282 + move-object/from16 v1, v18
46284 - check-cast v0, [Ljava/lang/String;
46285 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
46287 - move-object v11, v0
46288 + move-object/from16 v0, p1
46290 - const/4 v5, -0x1
46291 + iget-object v4, v0, Landroid/os/Message;->obj:Ljava/lang/Object;
46293 - const/4 v1, -0x1
46294 + check-cast v4, Landroid/os/AsyncResult;
46296 - const/4 v9, -0x1
46297 + move-object/from16 v0, p0
46299 - const/4 v8, -0x1
46300 + invoke-direct {v0, v4}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->onRestrictedStateChanged(Landroid/os/AsyncResult;)V
46302 - const/4 v7, -0x1
46303 + goto/16 :goto_40
46305 - array-length v13, v11
46306 - :try_end_c3
46307 - .catch Ljava/lang/RuntimeException; {:try_start_b3 .. :try_end_c3} :catch_159
46308 + :pswitch_data_390
46309 + .packed-switch 0x1
46310 + :pswitch_ab
46311 + :pswitch_b2
46312 + :pswitch_b6
46313 + :pswitch_1d7
46314 + :pswitch_1d7
46315 + :pswitch_1d7
46316 + :pswitch_4a
46317 + :pswitch_4a
46318 + :pswitch_4a
46319 + :pswitch_1ec
46320 + :pswitch_201
46321 + :pswitch_22e
46322 + :pswitch_40
46323 + :pswitch_1d7
46324 + :pswitch_d6
46325 + :pswitch_243
46326 + :pswitch_4e
46327 + :pswitch_248
46328 + :pswitch_2c3
46329 + :pswitch_26d
46330 + :pswitch_298
46331 + :pswitch_30b
46332 + :pswitch_37a
46333 + .end packed-switch
46334 +.end method
46336 - if-lez v13, :cond_11d
46337 +.method protected handlePollStateResult(ILandroid/os/AsyncResult;)V
46338 + .registers 24
46340 - const/4 v13, 0x0
46341 + move-object/from16 v0, p2
46343 - :try_start_c6
46344 - aget-object v13, v11, v13
46345 + iget-object v0, v0, Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
46347 - invoke-static {v13}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
46348 + move-object/from16 v17, v0
46350 - move-result v9
46351 + move-object/from16 v0, p0
46353 - array-length v13, v11
46354 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
46356 - const/4 v14, 0x3
46357 + move-object/from16 v18, v0
46359 - if-lt v13, v14, :cond_fe
46360 + move-object/from16 v0, v17
46362 - const/4 v13, 0x1
46363 + move-object/from16 v1, v18
46365 - aget-object v13, v11, v13
46366 + if-eq v0, v1, :cond_13
46368 - if-eqz v13, :cond_e7
46369 + :cond_12
46370 + :goto_12
46371 + return-void
46373 - const/4 v13, 0x1
46374 + :cond_13
46375 + move-object/from16 v0, p2
46377 + iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46379 + move-object/from16 v17, v0
46381 + if-eqz v17, :cond_e7
46383 + const/4 v4, 0x0
46385 + move-object/from16 v0, p2
46387 + iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46389 + move-object/from16 v17, v0
46391 + move-object/from16 v0, v17
46393 + instance-of v0, v0, Lcom/android/internal/telephony/CommandException;
46395 + move/from16 v17, v0
46397 + if-eqz v17, :cond_38
46399 + move-object/from16 v0, p2
46401 + iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46403 + move-object/from16 v17, v0
46405 + check-cast v17, Lcom/android/internal/telephony/CommandException;
46407 + check-cast v17, Lcom/android/internal/telephony/CommandException;
46409 + invoke-virtual/range {v17 .. v17}, Lcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
46411 + move-result-object v4
46413 + :cond_38
46414 + sget-object v17, Lcom/android/internal/telephony/CommandException$Error;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/CommandException$Error;
46416 + move-object/from16 v0, v17
46418 + if-ne v4, v0, :cond_42
46420 + invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
46422 + goto :goto_12
46424 + :cond_42
46425 + move-object/from16 v0, p0
46427 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
46429 + move-object/from16 v17, v0
46431 + invoke-interface/range {v17 .. v17}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
46433 + move-result-object v17
46435 + invoke-virtual/range {v17 .. v17}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
46437 + move-result v17
46439 + if-nez v17, :cond_56
46441 + invoke-virtual/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cancelPollState()V
46443 + goto :goto_12
46445 + :cond_56
46446 + sget-object v17, Lcom/android/internal/telephony/CommandException$Error;->OP_NOT_ALLOWED_BEFORE_REG_NW:Lcom/android/internal/telephony/CommandException$Error;
46448 + move-object/from16 v0, v17
46450 + if-eq v4, v0, :cond_7c
46452 + new-instance v17, Ljava/lang/StringBuilder;
46454 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
46456 + const-string v18, "RIL implementation has returned an error where it must succeed"
46458 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46460 + move-result-object v17
46462 + move-object/from16 v0, p2
46464 + iget-object v0, v0, Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
46466 + move-object/from16 v18, v0
46468 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
46470 + move-result-object v17
46472 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46474 + move-result-object v17
46476 + move-object/from16 v0, p0
46478 + move-object/from16 v1, v17
46480 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
46482 + :cond_7c
46483 + :goto_7c
46484 + move-object/from16 v0, p0
46486 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
46488 + move-object/from16 v17, v0
46490 + const/16 v18, 0x0
46492 + aget v19, v17, v18
46494 + add-int/lit8 v19, v19, -0x1
46496 + aput v19, v17, v18
46498 + move-object/from16 v0, p0
46500 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollingContext:[I
46502 + move-object/from16 v17, v0
46504 + const/16 v18, 0x0
46506 + aget v17, v17, v18
46508 + if-nez v17, :cond_12
46510 + move-object/from16 v0, p0
46512 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46514 + move/from16 v17, v0
46516 + if-nez v17, :cond_a6
46518 + move-object/from16 v0, p0
46520 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
46522 + move/from16 v17, v0
46524 + if-eqz v17, :cond_3c7
46526 + :cond_a6
46527 + const/4 v12, 0x1
46529 + :goto_a7
46530 + move-object/from16 v0, p0
46532 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46534 + move/from16 v17, v0
46536 + if-eqz v17, :cond_c8
46538 + move-object/from16 v0, p0
46540 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46542 + move/from16 v17, v0
46544 + move-object/from16 v0, p0
46546 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46548 + move-object/from16 v18, v0
46550 + move-object/from16 v0, p0
46552 + move/from16 v1, v17
46554 + move-object/from16 v2, v18
46556 + invoke-direct {v0, v1, v2}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->isRoamingBetweenOperators(ZLandroid/telephony/ServiceState;)Z
46558 + move-result v17
46560 + if-nez v17, :cond_c8
46562 + const/4 v12, 0x0
46564 + :cond_c8
46565 + move-object/from16 v0, p0
46567 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46569 + move-object/from16 v17, v0
46571 + move-object/from16 v0, v17
46573 + invoke-virtual {v0, v12}, Landroid/telephony/ServiceState;->setRoaming(Z)V
46575 + move-object/from16 v0, p0
46577 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46579 + move-object/from16 v17, v0
46581 + move-object/from16 v0, p0
46583 + iget-boolean v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
46585 + move/from16 v18, v0
46587 + invoke-virtual/range {v17 .. v18}, Landroid/telephony/ServiceState;->setEmergencyOnly(Z)V
46589 + invoke-direct/range {p0 .. p0}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pollStateDone()V
46591 + goto/16 :goto_12
46593 + :cond_e7
46594 + :try_start_e7
46595 + move-object/from16 v0, p0
46597 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
46599 + move-object/from16 v17, v0
46601 + move-object/from16 v0, p0
46603 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mContext:Landroid/content/Context;
46605 + move-object/from16 v18, v0
46607 + invoke-virtual/range {v18 .. v18}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
46609 + move-result-object v18
46611 + const/16 v19, 0x0
46613 + invoke-virtual/range {v17 .. v19}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
46615 + move-result-object v13
46617 + sparse-switch p1, :sswitch_data_3ca
46619 + goto/16 :goto_7c
46621 + :sswitch_102
46622 + move-object/from16 v0, p2
46624 + iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
46626 + move-object/from16 v17, v0
46628 + check-cast v17, [Ljava/lang/String;
46630 + move-object/from16 v0, v17
46632 + check-cast v0, [Ljava/lang/String;
46634 + move-object v14, v0
46636 + const/4 v7, -0x1
46638 + const/4 v3, -0x1
46640 + const/4 v11, -0x1
46642 + const/4 v10, -0x1
46644 + const/4 v9, -0x1
46646 + array-length v0, v14
46648 + move/from16 v17, v0
46649 + :try_end_117
46650 + .catch Ljava/lang/RuntimeException; {:try_start_e7 .. :try_end_117} :catch_1ec
46652 + if-lez v17, :cond_185
46654 + const/16 v17, 0x0
46656 + :try_start_11b
46657 + aget-object v17, v14, v17
46659 + invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
46661 + move-result v11
46663 + array-length v0, v14
46665 + move/from16 v17, v0
46667 + const/16 v18, 0x3
46669 + move/from16 v0, v17
46671 + move/from16 v1, v18
46673 + if-lt v0, v1, :cond_160
46675 + const/16 v17, 0x1
46677 + aget-object v17, v14, v17
46679 + if-eqz v17, :cond_146
46681 + const/16 v17, 0x1
46683 + aget-object v17, v14, v17
46685 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->length()I
46687 + move-result v17
46689 + if-lez v17, :cond_146
46691 + const/16 v17, 0x1
46693 + aget-object v17, v14, v17
46695 + const/16 v18, 0x10
46697 + invoke-static/range {v17 .. v18}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
46699 + move-result v7
46701 + :cond_146
46702 + const/16 v17, 0x2
46704 + aget-object v17, v14, v17
46706 + if-eqz v17, :cond_160
46708 + const/16 v17, 0x2
46710 + aget-object v17, v14, v17
46712 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->length()I
46714 + move-result v17
46716 + if-lez v17, :cond_160
46718 + const/16 v17, 0x2
46720 + aget-object v17, v14, v17
46722 + const/16 v18, 0x10
46724 + invoke-static/range {v17 .. v18}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
46726 + move-result v3
46728 + :cond_160
46729 + array-length v0, v14
46731 + move/from16 v17, v0
46733 + const/16 v18, 0xe
46735 + move/from16 v0, v17
46737 + move/from16 v1, v18
46739 + if-le v0, v1, :cond_185
46741 + const/16 v17, 0xe
46743 + aget-object v17, v14, v17
46745 + if-eqz v17, :cond_185
46747 + const/16 v17, 0xe
46749 + aget-object v17, v14, v17
46751 + invoke-virtual/range {v17 .. v17}, Ljava/lang/String;->length()I
46753 + move-result v17
46755 + if-lez v17, :cond_185
46757 + const/16 v17, 0xe
46759 + aget-object v17, v14, v17
46761 + const/16 v18, 0x10
46763 + invoke-static/range {v17 .. v18}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
46764 + :try_end_184
46765 + .catch Ljava/lang/NumberFormatException; {:try_start_11b .. :try_end_184} :catch_20b
46766 + .catch Ljava/lang/RuntimeException; {:try_start_11b .. :try_end_184} :catch_1ec
46768 + move-result v9
46770 + :cond_185
46771 + :goto_185
46772 + :try_start_185
46773 + move-object/from16 v0, p0
46775 + invoke-direct {v0, v11}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
46777 + move-result v17
46779 + move/from16 v0, v17
46781 + move-object/from16 v1, p0
46783 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46785 + move-object/from16 v0, p0
46787 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46789 + move-object/from16 v17, v0
46791 + move-object/from16 v0, p0
46793 + invoke-direct {v0, v11}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
46795 - aget-object v13, v11, v13
46796 + move-result v18
46798 - invoke-virtual {v13}, Ljava/lang/String;->length()I
46799 + invoke-virtual/range {v17 .. v18}, Landroid/telephony/ServiceState;->setState(I)V
46801 - move-result v13
46802 + const/16 v17, 0xa
46804 - if-lez v13, :cond_e7
46805 + move/from16 v0, v17
46807 - const/4 v13, 0x1
46808 + if-eq v11, v0, :cond_1b8
46810 - aget-object v13, v11, v13
46811 + const/16 v17, 0xc
46813 - const/16 v14, 0x10
46814 + move/from16 v0, v17
46816 - invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
46817 + if-eq v11, v0, :cond_1b8
46819 - move-result v5
46820 + const/16 v17, 0xd
46822 - :cond_e7
46823 - const/4 v13, 0x2
46824 + move/from16 v0, v17
46826 - aget-object v13, v11, v13
46827 + if-eq v11, v0, :cond_1b8
46829 - if-eqz v13, :cond_fe
46830 + const/16 v17, 0xe
46832 - const/4 v13, 0x2
46833 + move/from16 v0, v17
46835 - aget-object v13, v11, v13
46836 + if-ne v11, v0, :cond_22a
46838 - invoke-virtual {v13}, Ljava/lang/String;->length()I
46839 + :cond_1b8
46840 + const/16 v17, 0x1
46842 - move-result v13
46843 + move/from16 v0, v17
46845 - if-lez v13, :cond_fe
46846 + move-object/from16 v1, p0
46848 - const/4 v13, 0x2
46849 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
46851 - aget-object v13, v11, v13
46852 + :goto_1c0
46853 + move-object/from16 v0, p0
46855 - const/16 v14, 0x10
46856 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
46858 - invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
46859 + move-object/from16 v17, v0
46861 - move-result v1
46862 + if-eqz v17, :cond_233
46864 - :cond_fe
46865 - array-length v13, v11
46866 + if-eqz v13, :cond_233
46868 - const/16 v14, 0xe
46869 + invoke-virtual {v13}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
46871 - if-le v13, v14, :cond_11d
46872 + move-result v17
46874 + const/16 v18, 0x1
46876 + move/from16 v0, v17
46878 + move/from16 v1, v18
46880 + if-ne v0, v1, :cond_233
46882 + move-object/from16 v0, p0
46884 - const/16 v13, 0xe
46885 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
46887 - aget-object v13, v11, v13
46888 + move-object/from16 v17, v0
46890 - if-eqz v13, :cond_11d
46891 + invoke-virtual/range {v17 .. v17}, Landroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
46893 - const/16 v13, 0xe
46894 + move-object/from16 v0, p0
46896 - aget-object v13, v11, v13
46897 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
46899 - invoke-virtual {v13}, Ljava/lang/String;->length()I
46900 + move-object/from16 v17, v0
46902 - move-result v13
46903 + move-object/from16 v0, v17
46905 - if-lez v13, :cond_11d
46906 + invoke-virtual {v0, v9}, Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
46907 + :try_end_1ea
46908 + .catch Ljava/lang/RuntimeException; {:try_start_185 .. :try_end_1ea} :catch_1ec
46910 - const/16 v13, 0xe
46911 + goto/16 :goto_7c
46913 - aget-object v13, v11, v13
46914 + :catch_1ec
46915 + move-exception v5
46917 - const/16 v14, 0x10
46918 + new-instance v17, Ljava/lang/StringBuilder;
46920 - invoke-static {v13, v14}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
46921 - :try_end_11c
46922 - .catch Ljava/lang/NumberFormatException; {:try_start_c6 .. :try_end_11c} :catch_174
46923 - .catch Ljava/lang/RuntimeException; {:try_start_c6 .. :try_end_11c} :catch_159
46924 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
46926 - move-result v7
46927 + const-string v18, "Exception while polling service state. Probably malformed RIL response."
46929 - :cond_11d
46930 - :goto_11d
46931 - :try_start_11d
46932 - move-object/from16 v0, p0
46933 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46935 - invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
46936 + move-result-object v17
46938 - move-result v13
46939 + move-object/from16 v0, v17
46941 - move-object/from16 v0, p0
46942 + invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
46944 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mGsmRoaming:Z
46945 + move-result-object v17
46947 - move-object/from16 v0, p0
46948 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46950 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
46951 + move-result-object v17
46953 move-object/from16 v0, p0
46955 - invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
46956 + move-object/from16 v1, v17
46958 - move-result v14
46959 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
46961 - invoke-virtual {v13, v14}, Landroid/telephony/ServiceState;->setState(I)V
46962 + goto/16 :goto_7c
46964 - const/16 v13, 0xa
46965 + :catch_20b
46966 + move-exception v5
46968 - if-eq v9, v13, :cond_144
46969 + :try_start_20c
46970 + new-instance v17, Ljava/lang/StringBuilder;
46972 - const/16 v13, 0xc
46973 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
46975 - if-eq v9, v13, :cond_144
46976 + const-string v18, "error parsing RegistrationState: "
46978 - const/16 v13, 0xd
46979 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
46981 - if-eq v9, v13, :cond_144
46982 + move-result-object v17
46984 - const/16 v13, 0xe
46985 + move-object/from16 v0, v17
46987 - if-ne v9, v13, :cond_18e
46988 + invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
46990 - :cond_144
46991 - const/4 v13, 0x1
46992 + move-result-object v17
46994 - move-object/from16 v0, p0
46995 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
46997 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
46998 + move-result-object v17
47000 - :goto_149
47001 move-object/from16 v0, p0
47003 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
47004 + move-object/from16 v1, v17
47006 - invoke-virtual {v13, v5, v1}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
47007 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
47009 - move-object/from16 v0, p0
47010 + goto/16 :goto_185
47012 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
47013 + :cond_22a
47014 + const/16 v17, 0x0
47016 - invoke-virtual {v13, v7}, Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
47017 - :try_end_157
47018 - .catch Ljava/lang/RuntimeException; {:try_start_11d .. :try_end_157} :catch_159
47019 + move/from16 v0, v17
47021 - goto/16 :goto_60
47022 + move-object/from16 v1, p0
47024 - :catch_159
47025 - move-exception v3
47026 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47028 - new-instance v13, Ljava/lang/StringBuilder;
47029 + goto :goto_1c0
47031 - invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
47032 + :cond_233
47033 + move-object/from16 v0, p0
47035 - const-string v14, "Exception while polling service state. Probably malformed RIL response."
47036 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
47038 - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47039 + move-object/from16 v17, v0
47041 - move-result-object v13
47042 + if-eqz v17, :cond_26c
47044 - invoke-virtual {v13, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47045 + if-eqz v13, :cond_26c
47047 - move-result-object v13
47048 + invoke-virtual {v13}, Landroid/privacy/PrivacySettings;->getLocationNetworkSetting()B
47050 + move-result v17
47052 - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47053 + const/16 v18, 0x3
47055 - move-result-object v13
47056 + move/from16 v0, v17
47058 + move/from16 v1, v18
47060 + if-ne v0, v1, :cond_26c
47062 + new-instance v16, Ljava/util/Random;
47064 + invoke-direct/range {v16 .. v16}, Ljava/util/Random;-><init>()V
47066 move-object/from16 v0, p0
47068 - invoke-virtual {v0, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
47069 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
47071 - goto/16 :goto_60
47072 + move-object/from16 v17, v0
47074 - :catch_174
47075 - move-exception v3
47076 + invoke-virtual/range {v16 .. v16}, Ljava/util/Random;->nextInt()I
47078 - :try_start_175
47079 - new-instance v13, Ljava/lang/StringBuilder;
47080 + move-result v18
47082 - invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
47083 + invoke-virtual/range {v16 .. v16}, Ljava/util/Random;->nextInt()I
47085 - const-string v14, "error parsing RegistrationState: "
47086 + move-result v19
47088 - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47089 + invoke-virtual/range {v17 .. v19}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
47091 - move-result-object v13
47092 + move-object/from16 v0, p0
47094 - invoke-virtual {v13, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47095 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
47097 - move-result-object v13
47098 + move-object/from16 v17, v0
47100 + move-object/from16 v0, v17
47102 - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47103 + invoke-virtual {v0, v9}, Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
47105 - move-result-object v13
47106 + goto/16 :goto_7c
47108 + :cond_26c
47109 move-object/from16 v0, p0
47111 - invoke-virtual {v0, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
47112 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
47114 + move-object/from16 v17, v0
47116 - goto :goto_11d
47117 + move-object/from16 v0, v17
47119 - :cond_18e
47120 - const/4 v13, 0x0
47121 + invoke-virtual {v0, v7, v3}, Landroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
47123 move-object/from16 v0, p0
47125 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47126 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newCellLoc:Landroid/telephony/gsm/GsmCellLocation;
47128 + move-object/from16 v17, v0
47130 + move-object/from16 v0, v17
47132 + invoke-virtual {v0, v9}, Landroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
47134 - goto :goto_149
47135 + goto/16 :goto_7c
47137 - :sswitch_194
47138 + :sswitch_284
47139 move-object/from16 v0, p2
47141 - iget-object v13, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
47142 + iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
47144 + move-object/from16 v17, v0
47146 - check-cast v13, [Ljava/lang/String;
47147 + check-cast v17, [Ljava/lang/String;
47149 - move-object v0, v13
47150 + move-object/from16 v0, v17
47152 check-cast v0, [Ljava/lang/String;
47154 - move-object v11, v0
47155 + move-object v14, v0
47157 - const/4 v12, 0x0
47158 + const/4 v15, 0x0
47160 - const/4 v9, -0x1
47161 + const/4 v11, -0x1
47163 - const/4 v13, -0x1
47164 + const/16 v17, -0x1
47166 - move-object/from16 v0, p0
47167 + move/from16 v0, v17
47169 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
47170 + move-object/from16 v1, p0
47172 - const/4 v13, 0x1
47173 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
47175 - move-object/from16 v0, p0
47176 + const/16 v17, 0x1
47178 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
47179 + move/from16 v0, v17
47181 - array-length v13, v11
47182 - :try_end_1ab
47183 - .catch Ljava/lang/RuntimeException; {:try_start_175 .. :try_end_1ab} :catch_159
47184 + move-object/from16 v1, p0
47186 - if-lez v13, :cond_1e5
47187 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
47189 - const/4 v13, 0x0
47190 + array-length v0, v14
47192 - :try_start_1ae
47193 - aget-object v13, v11, v13
47194 + move/from16 v17, v0
47195 + :try_end_2a6
47196 + .catch Ljava/lang/RuntimeException; {:try_start_20c .. :try_end_2a6} :catch_1ec
47198 - invoke-static {v13}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47199 + if-lez v17, :cond_301
47201 - move-result v9
47202 + const/16 v17, 0x0
47204 - array-length v13, v11
47205 + :try_start_2aa
47206 + aget-object v17, v14, v17
47208 - const/4 v14, 0x4
47209 + invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47211 - if-lt v13, v14, :cond_1c4
47212 + move-result v11
47214 - const/4 v13, 0x3
47215 + array-length v0, v14
47217 - aget-object v13, v11, v13
47218 + move/from16 v17, v0
47220 - if-eqz v13, :cond_1c4
47221 + const/16 v18, 0x4
47223 - const/4 v13, 0x3
47224 + move/from16 v0, v17
47226 - aget-object v13, v11, v13
47227 + move/from16 v1, v18
47229 - invoke-static {v13}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47230 + if-lt v0, v1, :cond_2c9
47232 - move-result v12
47233 + const/16 v17, 0x3
47235 - :cond_1c4
47236 - array-length v13, v11
47237 + aget-object v17, v14, v17
47239 - const/4 v14, 0x5
47240 + if-eqz v17, :cond_2c9
47242 - if-lt v13, v14, :cond_1d6
47243 + const/16 v17, 0x3
47245 - const/4 v13, 0x3
47246 + aget-object v17, v14, v17
47248 - if-ne v9, v13, :cond_1d6
47249 + invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47251 - const/4 v13, 0x4
47252 + move-result v15
47254 - aget-object v13, v11, v13
47255 + :cond_2c9
47256 + array-length v0, v14
47258 - invoke-static {v13}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47259 + move/from16 v17, v0
47261 - move-result v13
47262 + const/16 v18, 0x5
47264 - move-object/from16 v0, p0
47265 + move/from16 v0, v17
47267 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
47268 + move/from16 v1, v18
47270 - :cond_1d6
47271 - array-length v13, v11
47272 + if-lt v0, v1, :cond_2e8
47274 - const/4 v14, 0x6
47275 + const/16 v17, 0x3
47277 - if-lt v13, v14, :cond_1e5
47278 + move/from16 v0, v17
47280 - const/4 v13, 0x5
47281 + if-ne v11, v0, :cond_2e8
47283 - aget-object v13, v11, v13
47284 + const/16 v17, 0x4
47286 - invoke-static {v13}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47287 + aget-object v17, v14, v17
47289 - move-result v13
47290 + invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47292 - move-object/from16 v0, p0
47293 + move-result v17
47295 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
47296 - :try_end_1e5
47297 - .catch Ljava/lang/NumberFormatException; {:try_start_1ae .. :try_end_1e5} :catch_206
47298 - .catch Ljava/lang/RuntimeException; {:try_start_1ae .. :try_end_1e5} :catch_159
47299 + move/from16 v0, v17
47301 - :cond_1e5
47302 - :goto_1e5
47303 - :try_start_1e5
47304 - move-object/from16 v0, p0
47305 + move-object/from16 v1, p0
47307 - invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
47308 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewReasonDataDenied:I
47310 - move-result v13
47311 + :cond_2e8
47312 + array-length v0, v14
47314 - move-object/from16 v0, p0
47315 + move/from16 v17, v0
47317 + const/16 v18, 0x6
47319 + move/from16 v0, v17
47321 + move/from16 v1, v18
47323 + if-lt v0, v1, :cond_301
47325 - iput v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
47326 + const/16 v17, 0x5
47328 + aget-object v17, v14, v17
47330 + invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
47332 + move-result v17
47334 + move/from16 v0, v17
47336 + move-object/from16 v1, p0
47338 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewMaxDataCalls:I
47339 + :try_end_301
47340 + .catch Ljava/lang/NumberFormatException; {:try_start_2aa .. :try_end_301} :catch_32a
47341 + .catch Ljava/lang/RuntimeException; {:try_start_2aa .. :try_end_301} :catch_1ec
47343 + :cond_301
47344 + :goto_301
47345 + :try_start_301
47346 move-object/from16 v0, p0
47348 - invoke-direct {v0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
47349 + invoke-direct {v0, v11}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeToServiceState(I)I
47351 - move-result v13
47352 + move-result v17
47354 + move/from16 v0, v17
47356 + move-object/from16 v1, p0
47358 + iput v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newGPRSState:I
47360 move-object/from16 v0, p0
47362 - iput-boolean v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
47363 + invoke-direct {v0, v11}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->regCodeIsRoaming(I)Z
47365 + move-result v17
47367 + move/from16 v0, v17
47369 + move-object/from16 v1, p0
47371 + iput-boolean v0, v1, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mDataRoaming:Z
47373 move-object/from16 v0, p0
47375 - iput v12, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
47376 + iput v15, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mNewRilRadioTechnology:I
47378 move-object/from16 v0, p0
47380 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47381 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47383 - invoke-virtual {v13, v12}, Landroid/telephony/ServiceState;->setRadioTechnology(I)V
47384 + move-object/from16 v17, v0
47386 - goto/16 :goto_60
47387 + move-object/from16 v0, v17
47389 - :catch_206
47390 - move-exception v3
47391 + invoke-virtual {v0, v15}, Landroid/telephony/ServiceState;->setRadioTechnology(I)V
47393 - new-instance v13, Ljava/lang/StringBuilder;
47394 + goto/16 :goto_7c
47396 - invoke-direct {v13}, Ljava/lang/StringBuilder;-><init>()V
47397 + :catch_32a
47398 + move-exception v5
47400 - const-string v14, "error parsing GprsRegistrationState: "
47401 + new-instance v17, Ljava/lang/StringBuilder;
47403 - invoke-virtual {v13, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47404 + invoke-direct/range {v17 .. v17}, Ljava/lang/StringBuilder;-><init>()V
47406 - move-result-object v13
47407 + const-string v18, "error parsing GprsRegistrationState: "
47409 - invoke-virtual {v13, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47410 + invoke-virtual/range {v17 .. v18}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47412 - move-result-object v13
47413 + move-result-object v17
47415 - invoke-virtual {v13}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47416 + move-object/from16 v0, v17
47418 - move-result-object v13
47419 + invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
47421 + move-result-object v17
47423 + invoke-virtual/range {v17 .. v17}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47425 + move-result-object v17
47427 move-object/from16 v0, p0
47429 - invoke-virtual {v0, v13}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
47430 + move-object/from16 v1, v17
47432 + invoke-virtual {v0, v1}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->loge(Ljava/lang/String;)V
47434 - goto :goto_1e5
47435 + goto :goto_301
47437 - :sswitch_220
47438 + :sswitch_348
47439 move-object/from16 v0, p2
47441 - iget-object v13, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
47442 + iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
47444 + move-object/from16 v17, v0
47446 - check-cast v13, [Ljava/lang/String;
47447 + check-cast v17, [Ljava/lang/String;
47449 - move-object v0, v13
47450 + move-object/from16 v0, v17
47452 check-cast v0, [Ljava/lang/String;
47454 - move-object v6, v0
47455 + move-object v8, v0
47457 + if-eqz v8, :cond_7c
47459 - if-eqz v6, :cond_60
47460 + array-length v0, v8
47462 - array-length v13, v6
47463 + move/from16 v17, v0
47465 - const/4 v14, 0x3
47466 + const/16 v18, 0x3
47468 - if-lt v13, v14, :cond_60
47469 + move/from16 v0, v17
47471 + move/from16 v1, v18
47473 + if-lt v0, v1, :cond_7c
47475 move-object/from16 v0, p0
47477 - iget-object v13, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47478 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
47480 - const/4 v14, 0x0
47481 + move-object/from16 v17, v0
47483 - aget-object v14, v6, v14
47484 + if-eqz v17, :cond_383
47486 - const/4 v15, 0x1
47487 + if-eqz v13, :cond_383
47489 + invoke-virtual {v13}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
47491 + move-result v17
47493 + if-eqz v17, :cond_383
47495 + move-object/from16 v0, p0
47497 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47499 + move-object/from16 v17, v0
47501 + const-string v18, ""
47503 + const-string v19, ""
47505 + const-string v20, ""
47507 + invoke-virtual/range {v17 .. v20}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
47509 + goto/16 :goto_7c
47511 + :cond_383
47512 + move-object/from16 v0, p0
47514 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47516 + move-object/from16 v17, v0
47518 + const/16 v18, 0x0
47520 - aget-object v15, v6, v15
47521 + aget-object v18, v8, v18
47523 - const/16 v16, 0x2
47524 + const/16 v19, 0x1
47526 + aget-object v19, v8, v19
47528 - aget-object v16, v6, v16
47529 + const/16 v20, 0x2
47531 - invoke-virtual/range {v13 .. v16}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
47532 + aget-object v20, v8, v20
47534 - goto/16 :goto_60
47535 + invoke-virtual/range {v17 .. v20}, Landroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
47537 - :sswitch_243
47538 + goto/16 :goto_7c
47540 + :sswitch_39a
47541 move-object/from16 v0, p2
47543 - iget-object v13, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
47544 + iget-object v0, v0, Landroid/os/AsyncResult;->result:Ljava/lang/Object;
47546 + move-object/from16 v17, v0
47548 - check-cast v13, [I
47549 + check-cast v17, [I
47551 - move-object v0, v13
47552 + move-object/from16 v0, v17
47554 check-cast v0, [I
47556 - move-object v4, v0
47557 + move-object v6, v0
47559 move-object/from16 v0, p0
47561 - iget-object v14, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47562 + iget-object v0, v0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->newSS:Landroid/telephony/ServiceState;
47564 - const/4 v13, 0x0
47565 + move-object/from16 v18, v0
47567 - aget v13, v4, v13
47568 + const/16 v17, 0x0
47570 - const/4 v15, 0x1
47571 + aget v17, v6, v17
47573 - if-ne v13, v15, :cond_25d
47574 + const/16 v19, 0x1
47576 - const/4 v13, 0x1
47577 + move/from16 v0, v17
47579 - :goto_258
47580 - invoke-virtual {v14, v13}, Landroid/telephony/ServiceState;->setIsManualSelection(Z)V
47581 - :try_end_25b
47582 - .catch Ljava/lang/RuntimeException; {:try_start_1e5 .. :try_end_25b} :catch_159
47583 + move/from16 v1, v19
47585 - goto/16 :goto_60
47586 + if-ne v0, v1, :cond_3c4
47588 - :cond_25d
47589 - const/4 v13, 0x0
47590 + const/16 v17, 0x1
47592 - goto :goto_258
47593 + :goto_3bb
47594 + move-object/from16 v0, v18
47596 - :cond_25f
47597 - const/4 v10, 0x0
47598 + move/from16 v1, v17
47600 + invoke-virtual {v0, v1}, Landroid/telephony/ServiceState;->setIsManualSelection(Z)V
47601 + :try_end_3c2
47602 + .catch Ljava/lang/RuntimeException; {:try_start_301 .. :try_end_3c2} :catch_1ec
47604 + goto/16 :goto_7c
47606 + :cond_3c4
47607 + const/16 v17, 0x0
47609 + goto :goto_3bb
47611 + :cond_3c7
47612 + const/4 v12, 0x0
47614 - goto/16 :goto_81
47615 + goto/16 :goto_a7
47617 - :sswitch_data_262
47618 + :sswitch_data_3ca
47619 .sparse-switch
47620 - 0x4 -> :sswitch_b3
47621 - 0x5 -> :sswitch_194
47622 - 0x6 -> :sswitch_220
47623 - 0xe -> :sswitch_243
47624 + 0x4 -> :sswitch_102
47625 + 0x5 -> :sswitch_284
47626 + 0x6 -> :sswitch_348
47627 + 0xe -> :sswitch_39a
47628 .end sparse-switch
47629 .end method
47631 @@ -7584,257 +8194,287 @@
47632 .end method
47634 .method protected updateSpnDisplay()V
47635 - .registers 13
47636 + .registers 14
47638 - const/4 v11, 0x2
47639 + const/4 v12, 0x2
47641 - const/4 v7, 0x0
47642 + const/4 v7, 0x1
47644 - const/4 v6, 0x1
47645 + const/4 v8, 0x0
47647 - iget-object v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
47648 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
47650 - iget-object v8, v8, Lcom/android/internal/telephony/gsm/GSMPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
47651 + iget-object v9, v9, Lcom/android/internal/telephony/gsm/GSMPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
47653 - iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
47654 + iget-object v10, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
47656 - invoke-virtual {v9}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
47657 + invoke-virtual {v10}, Landroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
47659 - move-result-object v9
47660 + move-result-object v10
47662 - invoke-virtual {v8, v9}, Lcom/android/internal/telephony/IccRecords;->getDisplayRule(Ljava/lang/String;)I
47663 + invoke-virtual {v9, v10}, Lcom/android/internal/telephony/IccRecords;->getDisplayRule(Ljava/lang/String;)I
47665 move-result v2
47667 - iget-object v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
47668 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
47670 - iget-object v8, v8, Lcom/android/internal/telephony/gsm/GSMPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
47671 + iget-object v10, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mContext:Landroid/content/Context;
47673 - invoke-virtual {v8}, Lcom/android/internal/telephony/IccRecords;->getServiceProviderName()Ljava/lang/String;
47674 + invoke-virtual {v10}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
47676 - move-result-object v5
47677 + move-result-object v10
47679 + invoke-virtual {v9, v10, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
47681 + move-result-object v3
47683 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->pSetMan:Landroid/privacy/PrivacySettingsManager;
47685 + if-eqz v9, :cond_108
47687 + if-eqz v3, :cond_108
47689 + invoke-virtual {v3}, Landroid/privacy/PrivacySettings;->getNetworkInfoSetting()B
47691 + move-result v9
47693 + if-eqz v9, :cond_108
47695 - iget-object v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
47696 + const-string v6, ""
47698 - invoke-virtual {v8}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
47699 + :goto_2b
47700 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->ss:Landroid/telephony/ServiceState;
47702 + invoke-virtual {v9}, Landroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
47704 move-result-object v1
47706 - iget-boolean v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47707 + iget-boolean v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47709 - if-eqz v8, :cond_5b
47710 + if-eqz v9, :cond_6d
47712 - iget-object v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
47713 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->cm:Lcom/android/internal/telephony/CommandsInterface;
47715 - invoke-interface {v8}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
47716 + invoke-interface {v9}, Lcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
47718 - move-result-object v8
47719 + move-result-object v9
47721 - invoke-virtual {v8}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
47722 + invoke-virtual {v9}, Lcom/android/internal/telephony/CommandsInterface$RadioState;->isOn()Z
47724 - move-result v8
47725 + move-result v9
47727 - if-eqz v8, :cond_5b
47728 + if-eqz v9, :cond_6d
47730 invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
47732 - move-result-object v8
47733 + move-result-object v9
47735 - const v9, 0x104031e
47736 + const v10, 0x104031e
47738 - invoke-virtual {v8, v9}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
47739 + invoke-virtual {v9, v10}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence;
47741 - move-result-object v8
47742 + move-result-object v9
47744 - invoke-virtual {v8}, Ljava/lang/Object;->toString()Ljava/lang/String;
47745 + invoke-virtual {v9}, Ljava/lang/Object;->toString()Ljava/lang/String;
47747 move-result-object v1
47749 - new-instance v8, Ljava/lang/StringBuilder;
47750 + new-instance v9, Ljava/lang/StringBuilder;
47752 - invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
47753 + invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
47755 - const-string/jumbo v9, "updateSpnDisplay: emergency only and radio is on plmn=\'"
47756 + const-string/jumbo v10, "updateSpnDisplay: emergency only and radio is on plmn=\'"
47758 - invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47759 + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47761 - move-result-object v8
47762 + move-result-object v9
47764 - invoke-virtual {v8, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47765 + invoke-virtual {v9, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47767 - move-result-object v8
47768 + move-result-object v9
47770 - const-string v9, "\'"
47771 + const-string v10, "\'"
47773 - invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47774 + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47776 - move-result-object v8
47777 + move-result-object v9
47779 - invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47780 + invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47782 - move-result-object v8
47783 + move-result-object v9
47785 - invoke-virtual {p0, v8}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
47786 + invoke-virtual {p0, v9}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
47788 - :cond_5b
47789 - iget v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
47790 + :cond_6d
47791 + iget v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
47793 - if-ne v2, v8, :cond_6f
47794 + if-ne v2, v9, :cond_81
47796 - iget-object v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
47797 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
47799 - invoke-static {v5, v8}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
47800 + invoke-static {v6, v9}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
47802 - move-result v8
47803 + move-result v9
47805 - if-eqz v8, :cond_6f
47806 + if-eqz v9, :cond_81
47808 - iget-object v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
47809 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
47811 - invoke-static {v1, v8}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
47812 + invoke-static {v1, v9}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
47814 - move-result v8
47815 + move-result v9
47817 - if-nez v8, :cond_ef
47818 + if-nez v9, :cond_101
47820 - :cond_6f
47821 - iget-boolean v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47822 + :cond_81
47823 + iget-boolean v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47825 - if-nez v8, :cond_f6
47826 + if-nez v9, :cond_112
47828 - invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
47829 + invoke-static {v6}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
47831 - move-result v8
47832 + move-result v9
47834 - if-nez v8, :cond_f6
47835 + if-nez v9, :cond_112
47837 - and-int/lit8 v8, v2, 0x1
47838 + and-int/lit8 v9, v2, 0x1
47840 - if-ne v8, v6, :cond_f6
47841 + if-ne v9, v7, :cond_112
47843 - move v4, v6
47844 + move v5, v7
47846 - :goto_7e
47847 + :goto_90
47848 invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
47850 - move-result v8
47851 + move-result v9
47853 - if-nez v8, :cond_f8
47854 + if-nez v9, :cond_115
47856 - iget-boolean v8, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47857 + iget-boolean v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->mEmergencyOnly:Z
47859 - if-nez v8, :cond_8c
47860 + if-nez v9, :cond_9e
47862 - and-int/lit8 v8, v2, 0x2
47863 + and-int/lit8 v9, v2, 0x2
47865 - if-ne v8, v11, :cond_f8
47866 + if-ne v9, v12, :cond_115
47868 - :cond_8c
47869 - move v3, v6
47870 + :cond_9e
47871 + move v4, v7
47873 - :goto_8d
47874 - new-instance v8, Ljava/lang/StringBuilder;
47875 + :goto_9f
47876 + new-instance v9, Ljava/lang/StringBuilder;
47878 - invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
47879 + invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
47881 - const-string/jumbo v9, "updateSpnDisplay: changed sending intent rule="
47882 + const-string/jumbo v10, "updateSpnDisplay: changed sending intent rule="
47884 - invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47885 + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47887 - move-result-object v8
47888 + move-result-object v9
47890 - invoke-virtual {v8, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47891 + invoke-virtual {v9, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
47893 - move-result-object v8
47894 + move-result-object v9
47896 - const-string v9, " showPlmn=\'%b\' plmn=\'%s\' showSpn=\'%b\' spn=\'%s\'"
47897 + const-string v10, " showPlmn=\'%b\' plmn=\'%s\' showSpn=\'%b\' spn=\'%s\'"
47899 - invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47900 + invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
47902 - move-result-object v8
47903 + move-result-object v9
47905 - invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47906 + invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
47908 - move-result-object v8
47909 + move-result-object v9
47911 - const/4 v9, 0x4
47912 + const/4 v10, 0x4
47914 - new-array v9, v9, [Ljava/lang/Object;
47915 + new-array v10, v10, [Ljava/lang/Object;
47917 - invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
47918 + invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
47920 - move-result-object v10
47921 + move-result-object v11
47923 - aput-object v10, v9, v7
47924 + aput-object v11, v10, v8
47926 - aput-object v1, v9, v6
47927 + aput-object v1, v10, v7
47929 - invoke-static {v4}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
47930 + invoke-static {v5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
47932 - move-result-object v6
47933 + move-result-object v7
47935 - aput-object v6, v9, v11
47936 + aput-object v7, v10, v12
47938 - const/4 v6, 0x3
47939 + const/4 v7, 0x3
47941 - aput-object v5, v9, v6
47942 + aput-object v6, v10, v7
47944 - invoke-static {v8, v9}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
47945 + invoke-static {v9, v10}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
47947 - move-result-object v6
47948 + move-result-object v7
47950 - invoke-virtual {p0, v6}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
47951 + invoke-virtual {p0, v7}, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->log(Ljava/lang/String;)V
47953 new-instance v0, Landroid/content/Intent;
47955 - const-string v6, "android.provider.Telephony.SPN_STRINGS_UPDATED"
47956 + const-string v7, "android.provider.Telephony.SPN_STRINGS_UPDATED"
47958 - invoke-direct {v0, v6}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
47959 + invoke-direct {v0, v7}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
47961 - const/high16 v6, 0x2000
47962 + const/high16 v7, 0x2000
47964 - invoke-virtual {v0, v6}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
47965 + invoke-virtual {v0, v7}, Landroid/content/Intent;->addFlags(I)Landroid/content/Intent;
47967 - const-string/jumbo v6, "showSpn"
47968 + const-string/jumbo v7, "showSpn"
47970 - invoke-virtual {v0, v6, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
47971 + invoke-virtual {v0, v7, v5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
47973 - const-string/jumbo v6, "spn"
47974 + const-string/jumbo v7, "spn"
47976 - invoke-virtual {v0, v6, v5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
47977 + invoke-virtual {v0, v7, v6}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
47979 - const-string/jumbo v6, "showPlmn"
47980 + const-string/jumbo v7, "showPlmn"
47982 - invoke-virtual {v0, v6, v3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
47983 + invoke-virtual {v0, v7, v4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
47985 - const-string/jumbo v6, "plmn"
47986 + const-string/jumbo v7, "plmn"
47988 - invoke-virtual {v0, v6, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
47989 + invoke-virtual {v0, v7, v1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
47991 - iget-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
47992 + iget-object v7, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
47994 - invoke-virtual {v6}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
47995 + invoke-virtual {v7}, Lcom/android/internal/telephony/gsm/GSMPhone;->getContext()Landroid/content/Context;
47997 - move-result-object v6
47998 + move-result-object v7
48000 - invoke-virtual {v6, v0}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
48001 + invoke-virtual {v7, v0}, Landroid/content/Context;->sendStickyBroadcast(Landroid/content/Intent;)V
48003 - :cond_ef
48004 + :cond_101
48005 iput v2, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpnRule:I
48007 - iput-object v5, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
48008 + iput-object v6, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curSpn:Ljava/lang/String;
48010 iput-object v1, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->curPlmn:Ljava/lang/String;
48012 return-void
48014 - :cond_f6
48015 - move v4, v7
48016 + :cond_108
48017 + iget-object v9, p0, Lcom/android/internal/telephony/gsm/GsmServiceStateTracker;->phone:Lcom/android/internal/telephony/gsm/GSMPhone;
48019 + iget-object v9, v9, Lcom/android/internal/telephony/gsm/GSMPhone;->mIccRecords:Lcom/android/internal/telephony/IccRecords;
48021 + invoke-virtual {v9}, Lcom/android/internal/telephony/IccRecords;->getServiceProviderName()Ljava/lang/String;
48023 + move-result-object v6
48025 + goto/16 :goto_2b
48027 + :cond_112
48028 + move v5, v8
48030 - goto :goto_7e
48031 + goto/16 :goto_90
48033 - :cond_f8
48034 - move v3, v7
48035 + :cond_115
48036 + move v4, v8
48038 - goto :goto_8d
48039 + goto :goto_9f
48040 .end method
48041 diff -Npru stock-framework/smali/com/android/internal/telephony/gsm/SimSmsInterfaceManager.smali ext-framework/smali/com/android/internal/telephony/gsm/SimSmsInterfaceManager.smali
48042 --- stock-framework/smali/com/android/internal/telephony/gsm/SimSmsInterfaceManager.smali 2012-11-08 09:12:18.802952091 -0600
48043 +++ ext-framework/smali/com/android/internal/telephony/gsm/SimSmsInterfaceManager.smali 2012-11-08 09:11:58.338850615 -0600
48044 @@ -12,6 +12,10 @@
48047 # static fields
48048 +.field protected static final ACCESS_TYPE_ICC:I = 0x1
48050 +.field protected static final ACCESS_TYPE_SMS_MMS:I = 0x0
48052 .field static final DBG:Z = true
48054 .field private static final EVENT_LOAD_DONE:I = 0x1
48055 @@ -24,6 +28,8 @@
48057 .field static final LOG_TAG:Ljava/lang/String; = "GSM"
48059 +.field protected static final P_TAG:Ljava/lang/String; = "PrivacySMSInterfaceManager"
48061 .field private static final SMS_CB_CODE_SCHEME_MAX:I = 0xff
48063 .field private static final SMS_CB_CODE_SCHEME_MIN:I
48064 @@ -63,6 +69,8 @@
48066 .field private mSuccess:Z
48068 +.field protected pSetMan:Landroid/privacy/PrivacySettingsManager;
48071 # direct methods
48072 .method public constructor <init>(Lcom/android/internal/telephony/gsm/GSMPhone;Lcom/android/internal/telephony/SMSDispatcher;)V
48073 @@ -342,66 +350,84 @@
48074 .method public copyMessageToIccEf(I[B[B)Z
48075 .registers 10
48077 - new-instance v2, Ljava/lang/StringBuilder;
48078 + const/4 v2, 0x0
48080 - invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
48081 + new-instance v3, Ljava/lang/StringBuilder;
48083 - const-string v3, "copyMessageToIccEf: status="
48084 + invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
48086 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48087 + const-string v4, "copyMessageToIccEf: status="
48089 - move-result-object v2
48090 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48092 - invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48093 + move-result-object v3
48095 - move-result-object v2
48096 + invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48098 - const-string v3, " ==> "
48099 + move-result-object v3
48101 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48102 + const-string v4, " ==> "
48104 - move-result-object v2
48105 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48107 - const-string/jumbo v3, "pdu=("
48108 + move-result-object v3
48110 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48111 + const-string/jumbo v4, "pdu=("
48113 - move-result-object v2
48114 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48116 + move-result-object v3
48118 invoke-static {p2}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
48120 - move-result-object v3
48121 + move-result-object v4
48123 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48124 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48126 - move-result-object v2
48127 + move-result-object v3
48129 - const-string v3, "), smsm=("
48130 + const-string v4, "), smsm=("
48132 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48133 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48135 - move-result-object v2
48136 + move-result-object v3
48138 invoke-static {p3}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
48140 + move-result-object v4
48142 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48144 move-result-object v3
48146 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48147 + const-string v4, ")"
48149 - move-result-object v2
48150 + invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48152 - const-string v3, ")"
48153 + move-result-object v3
48155 - invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48156 + invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48158 - move-result-object v2
48159 + move-result-object v3
48161 - invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48162 + invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48164 - move-result-object v2
48165 + invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->getPackageName()[Ljava/lang/String;
48167 - invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48168 + move-result-object v3
48170 + const/4 v4, 0x1
48172 + invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->isAllowed([Ljava/lang/String;I)Z
48174 + move-result v3
48176 + if-nez v3, :cond_4c
48178 + :goto_4b
48179 + return v2
48181 + :cond_4c
48182 const-string v2, "Copying message to SIM"
48184 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
48185 @@ -412,7 +438,7 @@
48187 const/4 v2, 0x0
48189 - :try_start_48
48190 + :try_start_55
48191 iput-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
48193 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
48194 @@ -436,43 +462,43 @@
48195 move-result-object v5
48197 invoke-interface {v2, p1, v4, v5, v1}, Lcom/android/internal/telephony/CommandsInterface;->writeSmsToSim(ILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
48198 - :try_end_60
48199 - .catchall {:try_start_48 .. :try_end_60} :catchall_70
48200 + :try_end_6d
48201 + .catchall {:try_start_55 .. :try_end_6d} :catchall_7d
48203 - :try_start_60
48204 + :try_start_6d
48205 iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
48207 invoke-virtual {v2}, Ljava/lang/Object;->wait()V
48208 - :try_end_65
48209 - .catchall {:try_start_60 .. :try_end_65} :catchall_70
48210 - .catch Ljava/lang/InterruptedException; {:try_start_60 .. :try_end_65} :catch_69
48211 + :try_end_72
48212 + .catchall {:try_start_6d .. :try_end_72} :catchall_7d
48213 + .catch Ljava/lang/InterruptedException; {:try_start_6d .. :try_end_72} :catch_76
48215 - :goto_65
48216 - :try_start_65
48217 + :goto_72
48218 + :try_start_72
48219 monitor-exit v3
48220 - :try_end_66
48221 - .catchall {:try_start_65 .. :try_end_66} :catchall_70
48222 + :try_end_73
48223 + .catchall {:try_start_72 .. :try_end_73} :catchall_7d
48225 iget-boolean v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
48227 - return v2
48228 + goto :goto_4b
48230 - :catch_69
48231 + :catch_76
48232 move-exception v0
48234 - :try_start_6a
48235 + :try_start_77
48236 const-string v2, "interrupted while trying to update by index"
48238 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48240 - goto :goto_65
48241 + goto :goto_72
48243 - :catchall_70
48244 + :catchall_7d
48245 move-exception v2
48247 monitor-exit v3
48248 - :try_end_72
48249 - .catchall {:try_start_6a .. :try_end_72} :catchall_70
48250 + :try_end_7f
48251 + .catchall {:try_start_77 .. :try_end_7f} :catchall_7d
48253 throw v2
48254 .end method
48255 @@ -834,10 +860,30 @@
48257 .end annotation
48259 + const/4 v4, 0x1
48261 const-string v3, "getAllMessagesFromEF"
48263 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48265 + invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->getPackageName()[Ljava/lang/String;
48267 + move-result-object v3
48269 + invoke-virtual {p0, v3, v4}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->isAllowed([Ljava/lang/String;I)Z
48271 + move-result v3
48273 + if-nez v3, :cond_16
48275 + new-instance v3, Ljava/util/ArrayList;
48277 + invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
48279 + :goto_15
48280 + return-object v3
48282 + :cond_16
48283 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
48285 invoke-virtual {v3}, Lcom/android/internal/telephony/PhoneBase;->getContext()Landroid/content/Context;
48286 @@ -854,7 +900,7 @@
48288 monitor-enter v4
48290 - :try_start_15
48291 + :try_start_26
48292 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
48294 const/4 v5, 0x1
48295 @@ -872,47 +918,360 @@
48296 const/16 v5, 0x6f3c
48298 invoke-virtual {v3, v5, v2}, Lcom/android/internal/telephony/IccFileHandler;->loadEFLinearFixedAll(ILandroid/os/Message;)V
48299 - :try_end_27
48300 - .catchall {:try_start_15 .. :try_end_27} :catchall_37
48301 + :try_end_38
48302 + .catchall {:try_start_26 .. :try_end_38} :catchall_48
48304 - :try_start_27
48305 + :try_start_38
48306 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
48308 invoke-virtual {v3}, Ljava/lang/Object;->wait()V
48309 - :try_end_2c
48310 - .catchall {:try_start_27 .. :try_end_2c} :catchall_37
48311 - .catch Ljava/lang/InterruptedException; {:try_start_27 .. :try_end_2c} :catch_30
48312 + :try_end_3d
48313 + .catchall {:try_start_38 .. :try_end_3d} :catchall_48
48314 + .catch Ljava/lang/InterruptedException; {:try_start_38 .. :try_end_3d} :catch_41
48316 - :goto_2c
48317 - :try_start_2c
48318 + :goto_3d
48319 + :try_start_3d
48320 monitor-exit v4
48321 - :try_end_2d
48322 - .catchall {:try_start_2c .. :try_end_2d} :catchall_37
48323 + :try_end_3e
48324 + .catchall {:try_start_3d .. :try_end_3e} :catchall_48
48326 iget-object v3, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSms:Ljava/util/List;
48328 - return-object v3
48329 + goto :goto_15
48331 - :catch_30
48332 + :catch_41
48333 move-exception v1
48335 - :try_start_31
48336 + :try_start_42
48337 const-string v3, "interrupted while trying to load from the SIM"
48339 invoke-virtual {p0, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48341 - goto :goto_2c
48342 + goto :goto_3d
48344 - :catchall_37
48345 + :catchall_48
48346 move-exception v3
48348 monitor-exit v4
48349 - :try_end_39
48350 - .catchall {:try_start_31 .. :try_end_39} :catchall_37
48351 + :try_end_4a
48352 + .catchall {:try_start_42 .. :try_end_4a} :catchall_48
48354 throw v3
48355 .end method
48357 +.method protected getPackageName()[Ljava/lang/String;
48358 + .registers 4
48360 + iget-object v2, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mContext:Landroid/content/Context;
48362 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
48364 + move-result-object v1
48366 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
48368 + move-result v2
48370 + invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
48372 + move-result-object v0
48374 + return-object v0
48375 +.end method
48377 +.method protected isAllowed([Ljava/lang/String;I)Z
48378 + .registers 12
48380 + const/4 v8, -0x1
48382 + const/4 v4, 0x1
48384 + const/4 v3, 0x0
48386 + packed-switch p2, :pswitch_data_e8
48388 + const/4 v5, 0x0
48390 + :try_start_7
48391 + aget-object v5, p1, v5
48393 + const/4 v6, 0x0
48395 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48397 + move v3, v4
48399 + :goto_e
48400 + return v3
48402 + :pswitch_f
48403 + const/4 v2, 0x0
48405 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48407 + if-nez v5, :cond_27
48409 + new-instance v5, Landroid/privacy/PrivacySettingsManager;
48411 + const/4 v6, 0x0
48413 + const-string/jumbo v7, "privacy"
48415 + invoke-static {v7}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
48417 + move-result-object v7
48419 + invoke-static {v7}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
48421 + move-result-object v7
48423 + invoke-direct {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
48425 + iput-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48427 + :cond_27
48428 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48430 + if-eqz v5, :cond_7f
48432 + if-eqz p1, :cond_7f
48434 + const/4 v1, 0x0
48436 + :goto_2e
48437 + array-length v5, p1
48439 + if-ge v1, v5, :cond_76
48441 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48443 + aget-object v6, p1, v1
48445 + const/4 v7, -0x1
48447 + invoke-virtual {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
48449 + move-result-object v2
48451 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48453 + if-eqz v5, :cond_72
48455 + if-eqz v2, :cond_72
48457 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
48459 + move-result v5
48461 + if-eqz v5, :cond_72
48463 + aget-object v5, p1, v1
48465 + const/4 v6, 0x1
48467 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48468 + :try_end_4c
48469 + .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_4c} :catch_4d
48471 + goto :goto_e
48473 + :catch_4d
48474 + move-exception v0
48476 + const-string v5, "PrivacySMSInterfaceManager"
48478 + const-string v6, "Got exception while checking for sms or ICC acess permission"
48480 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
48482 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
48484 + if-eqz p1, :cond_70
48486 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48488 + if-eqz v5, :cond_70
48490 + array-length v5, p1
48492 + if-lez v5, :cond_70
48494 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48496 + aget-object v6, p1, v3
48498 + invoke-virtual {v5, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
48500 + move-result-object v2
48502 + if-eqz v2, :cond_70
48504 + aget-object v5, p1, v3
48506 + invoke-virtual {p0, p2, v5, v3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48508 + :cond_70
48509 + move v3, v4
48511 + goto :goto_e
48513 + :cond_72
48514 + const/4 v2, 0x0
48516 + add-int/lit8 v1, v1, 0x1
48518 + goto :goto_2e
48520 + :cond_76
48521 + const/4 v5, 0x0
48523 + :try_start_77
48524 + aget-object v5, p1, v5
48526 + const/4 v6, 0x0
48528 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48530 + move v3, v4
48532 + goto :goto_e
48534 + :cond_7f
48535 + if-eqz p1, :cond_8b
48537 + array-length v5, p1
48539 + if-lez v5, :cond_8b
48541 + const/4 v5, 0x0
48543 + aget-object v5, p1, v5
48545 + const/4 v6, 0x0
48547 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48549 + :cond_8b
48550 + move v3, v4
48552 + goto :goto_e
48554 + :pswitch_8d
48555 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48557 + if-nez v5, :cond_a4
48559 + new-instance v5, Landroid/privacy/PrivacySettingsManager;
48561 + const/4 v6, 0x0
48563 + const-string/jumbo v7, "privacy"
48565 + invoke-static {v7}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
48567 + move-result-object v7
48569 + invoke-static {v7}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
48571 + move-result-object v7
48573 + invoke-direct {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
48575 + iput-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48577 + :cond_a4
48578 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48580 + if-eqz v5, :cond_d9
48582 + if-eqz p1, :cond_d9
48584 + const/4 v1, 0x0
48586 + :goto_ab
48587 + array-length v5, p1
48589 + if-ge v1, v5, :cond_cf
48591 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48593 + aget-object v6, p1, v1
48595 + const/4 v7, -0x1
48597 + invoke-virtual {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
48599 + move-result-object v2
48601 + iget-object v5, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48603 + if-eqz v5, :cond_cb
48605 + if-eqz v2, :cond_cb
48607 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
48609 + move-result v5
48611 + if-eqz v5, :cond_cb
48613 + aget-object v5, p1, v1
48615 + const/4 v6, 0x1
48617 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48619 + goto/16 :goto_e
48621 + :cond_cb
48622 + const/4 v2, 0x0
48624 + add-int/lit8 v1, v1, 0x1
48626 + goto :goto_ab
48628 + :cond_cf
48629 + const/4 v5, 0x0
48631 + aget-object v5, p1, v5
48633 + const/4 v6, 0x0
48635 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48637 + move v3, v4
48639 + goto/16 :goto_e
48641 + :cond_d9
48642 + if-eqz p1, :cond_e5
48644 + array-length v5, p1
48646 + if-lez v5, :cond_e5
48648 + const/4 v5, 0x0
48650 + aget-object v5, p1, v5
48652 + const/4 v6, 0x0
48654 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->notify(ILjava/lang/String;B)V
48655 + :try_end_e5
48656 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_e5} :catch_4d
48658 + :cond_e5
48659 + move v3, v4
48661 + goto/16 :goto_e
48663 + :pswitch_data_e8
48664 + .packed-switch 0x0
48665 + :pswitch_f
48666 + :pswitch_8d
48667 + .end packed-switch
48668 +.end method
48670 .method protected log(Ljava/lang/String;)V
48671 .registers 5
48673 @@ -941,65 +1300,132 @@
48674 return-void
48675 .end method
48677 +.method protected notify(ILjava/lang/String;B)V
48678 + .registers 11
48680 + const/4 v2, 0x0
48682 + const/4 v5, 0x0
48684 + packed-switch p1, :pswitch_data_1c
48686 + :goto_5
48687 + return-void
48689 + :pswitch_6
48690 + iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48692 + const-string v4, "SmsSend"
48694 + move-object v1, p2
48696 + move v3, p3
48698 + move-object v6, v5
48700 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
48702 + goto :goto_5
48704 + :pswitch_11
48705 + iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->pSetMan:Landroid/privacy/PrivacySettingsManager;
48707 + const-string v4, "iccAccess"
48709 + move-object v1, p2
48711 + move v3, p3
48713 + move-object v6, v5
48715 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
48717 + goto :goto_5
48719 + :pswitch_data_1c
48720 + .packed-switch 0x0
48721 + :pswitch_6
48722 + :pswitch_11
48723 + .end packed-switch
48724 +.end method
48726 .method public updateMessageOnIccEf(II[B)Z
48727 .registers 12
48729 - new-instance v0, Ljava/lang/StringBuilder;
48730 + const/4 v0, 0x0
48732 - invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
48733 + new-instance v1, Ljava/lang/StringBuilder;
48735 - const-string/jumbo v1, "updateMessageOnIccEf: index="
48736 + invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
48738 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48739 + const-string/jumbo v2, "updateMessageOnIccEf: index="
48741 - move-result-object v0
48742 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48744 - invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48745 + move-result-object v1
48747 - move-result-object v0
48748 + invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48750 - const-string v1, " status="
48751 + move-result-object v1
48753 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48754 + const-string v2, " status="
48756 - move-result-object v0
48757 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48759 - invoke-virtual {v0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48760 + move-result-object v1
48762 - move-result-object v0
48763 + invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
48765 - const-string v1, " ==> "
48766 + move-result-object v1
48768 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48769 + const-string v2, " ==> "
48771 - move-result-object v0
48772 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48774 - const-string v1, "("
48775 + move-result-object v1
48777 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48778 + const-string v2, "("
48780 - move-result-object v0
48781 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48783 + move-result-object v1
48785 invoke-static {p3}, Ljava/util/Arrays;->toString([B)Ljava/lang/String;
48787 + move-result-object v2
48789 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48791 move-result-object v1
48793 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48794 + const-string v2, ")"
48796 - move-result-object v0
48797 + invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48799 - const-string v1, ")"
48800 + move-result-object v1
48802 - invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
48803 + invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48805 - move-result-object v0
48806 + move-result-object v1
48808 - invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
48809 + invoke-virtual {p0, v1}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48811 - move-result-object v0
48812 + invoke-virtual {p0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->getPackageName()[Ljava/lang/String;
48814 - invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48815 + move-result-object v1
48817 + const/4 v2, 0x1
48819 + invoke-virtual {p0, v1, v2}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->isAllowed([Ljava/lang/String;I)Z
48821 + move-result v1
48823 + if-nez v1, :cond_48
48825 + :goto_47
48826 + return v0
48828 + :cond_48
48829 const-string v0, "Updating message on SIM"
48831 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
48832 @@ -1010,7 +1436,7 @@
48834 const/4 v0, 0x0
48836 - :try_start_44
48837 + :try_start_51
48838 iput-boolean v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
48840 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mHandler:Landroid/os/Handler;
48841 @@ -1021,37 +1447,37 @@
48843 move-result-object v5
48845 - if-nez p2, :cond_5f
48846 + if-nez p2, :cond_6c
48848 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/PhoneBase;
48850 iget-object v0, v0, Lcom/android/internal/telephony/PhoneBase;->mCM:Lcom/android/internal/telephony/CommandsInterface;
48852 invoke-interface {v0, p1, v5}, Lcom/android/internal/telephony/CommandsInterface;->deleteSmsOnSim(ILandroid/os/Message;)V
48853 - :try_end_56
48854 - .catchall {:try_start_44 .. :try_end_56} :catchall_71
48855 + :try_end_63
48856 + .catchall {:try_start_51 .. :try_end_63} :catchall_7e
48858 - :goto_56
48859 - :try_start_56
48860 + :goto_63
48861 + :try_start_63
48862 iget-object v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mLock:Ljava/lang/Object;
48864 invoke-virtual {v0}, Ljava/lang/Object;->wait()V
48865 - :try_end_5b
48866 - .catchall {:try_start_56 .. :try_end_5b} :catchall_71
48867 - .catch Ljava/lang/InterruptedException; {:try_start_56 .. :try_end_5b} :catch_74
48868 + :try_end_68
48869 + .catchall {:try_start_63 .. :try_end_68} :catchall_7e
48870 + .catch Ljava/lang/InterruptedException; {:try_start_63 .. :try_end_68} :catch_81
48872 - :goto_5b
48873 - :try_start_5b
48874 + :goto_68
48875 + :try_start_68
48876 monitor-exit v7
48877 - :try_end_5c
48878 - .catchall {:try_start_5b .. :try_end_5c} :catchall_71
48879 + :try_end_69
48880 + .catchall {:try_start_68 .. :try_end_69} :catchall_7e
48882 iget-boolean v0, p0, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->mSuccess:Z
48884 - return v0
48885 + goto :goto_47
48887 - :cond_5f
48888 - :try_start_5f
48889 + :cond_6c
48890 + :try_start_6c
48891 invoke-virtual {p0, p2, p3}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->makeSmsRecordData(I[B)[B
48893 move-result-object v3
48894 @@ -1070,26 +1496,26 @@
48896 invoke-virtual/range {v0 .. v5}, Lcom/android/internal/telephony/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
48898 - goto :goto_56
48899 + goto :goto_63
48901 - :catchall_71
48902 + :catchall_7e
48903 move-exception v0
48905 monitor-exit v7
48906 - :try_end_73
48907 - .catchall {:try_start_5f .. :try_end_73} :catchall_71
48908 + :try_end_80
48909 + .catchall {:try_start_6c .. :try_end_80} :catchall_7e
48911 throw v0
48913 - :catch_74
48914 + :catch_81
48915 move-exception v6
48917 - :try_start_75
48918 + :try_start_82
48919 const-string v0, "interrupted while trying to update by index"
48921 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/gsm/SimSmsInterfaceManager;->log(Ljava/lang/String;)V
48922 - :try_end_7a
48923 - .catchall {:try_start_75 .. :try_end_7a} :catchall_71
48924 + :try_end_87
48925 + .catchall {:try_start_82 .. :try_end_87} :catchall_7e
48927 - goto :goto_5b
48928 + goto :goto_68
48929 .end method
48930 diff -Npru stock-framework/smali/com/android/internal/telephony/PhoneFactory.smali ext-framework/smali/com/android/internal/telephony/PhoneFactory.smali
48931 --- stock-framework/smali/com/android/internal/telephony/PhoneFactory.smali 2012-11-08 09:12:18.586951029 -0600
48932 +++ ext-framework/smali/com/android/internal/telephony/PhoneFactory.smali 2012-11-08 09:11:58.130849592 -0600
48933 @@ -64,7 +64,7 @@
48935 packed-switch v1, :pswitch_data_26
48937 - new-instance v0, Lcom/android/internal/telephony/cdma/CDMAPhone;
48938 + new-instance v0, Landroid/privacy/surrogate/PrivacyCDMAPhone;
48940 sget-object v1, Lcom/android/internal/telephony/PhoneFactory;->sContext:Landroid/content/Context;
48942 @@ -72,7 +72,7 @@
48944 sget-object v4, Lcom/android/internal/telephony/PhoneFactory;->sPhoneNotifier:Lcom/android/internal/telephony/PhoneNotifier;
48946 - invoke-direct {v0, v1, v3, v4}, Lcom/android/internal/telephony/cdma/CDMAPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
48947 + invoke-direct {v0, v1, v3, v4}, Landroid/privacy/surrogate/PrivacyCDMAPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
48949 :goto_15
48950 monitor-exit v2
48951 @@ -80,7 +80,7 @@
48952 return-object v0
48954 :pswitch_17
48955 - new-instance v0, Lcom/android/internal/telephony/cdma/CDMALTEPhone;
48956 + new-instance v0, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;
48958 sget-object v1, Lcom/android/internal/telephony/PhoneFactory;->sContext:Landroid/content/Context;
48960 @@ -88,7 +88,7 @@
48962 sget-object v4, Lcom/android/internal/telephony/PhoneFactory;->sPhoneNotifier:Lcom/android/internal/telephony/PhoneNotifier;
48964 - invoke-direct {v0, v1, v3, v4}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
48965 + invoke-direct {v0, v1, v3, v4}, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
48967 goto :goto_15
48969 @@ -153,7 +153,7 @@
48970 monitor-enter v2
48972 :try_start_3
48973 - new-instance v0, Lcom/android/internal/telephony/gsm/GSMPhone;
48974 + new-instance v0, Landroid/privacy/surrogate/PrivacyGSMPhone;
48976 sget-object v1, Lcom/android/internal/telephony/PhoneFactory;->sContext:Landroid/content/Context;
48978 @@ -161,7 +161,7 @@
48980 sget-object v4, Lcom/android/internal/telephony/PhoneFactory;->sPhoneNotifier:Lcom/android/internal/telephony/PhoneNotifier;
48982 - invoke-direct {v0, v1, v3, v4}, Lcom/android/internal/telephony/gsm/GSMPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
48983 + invoke-direct {v0, v1, v3, v4}, Landroid/privacy/surrogate/PrivacyGSMPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
48985 monitor-exit v2
48987 @@ -238,7 +238,7 @@
48988 :try_start_3
48989 sget-boolean v16, Lcom/android/internal/telephony/PhoneFactory;->sMadeDefaults:Z
48991 - if-nez v16, :cond_185
48992 + if-nez v16, :cond_187
48994 invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
48996 @@ -293,10 +293,10 @@
48997 invoke-direct {v0, v1}, Landroid/net/LocalServerSocket;-><init>(Ljava/lang/String;)V
48998 :try_end_31
48999 .catchall {:try_start_26 .. :try_end_31} :catchall_1f
49000 - .catch Ljava/io/IOException; {:try_start_26 .. :try_end_31} :catch_187
49001 + .catch Ljava/io/IOException; {:try_start_26 .. :try_end_31} :catch_189
49003 :goto_31
49004 - if-nez v9, :cond_18b
49005 + if-nez v9, :cond_18d
49007 :try_start_33
49008 new-instance v16, Lcom/android/internal/telephony/DefaultPhoneNotifier;
49009 @@ -379,7 +379,7 @@
49011 move-result v10
49013 - packed-switch v10, :pswitch_data_236
49014 + packed-switch v10, :pswitch_data_23c
49016 invoke-virtual/range {p0 .. p0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
49018 @@ -580,7 +580,7 @@
49019 sput-object v16, Lcom/android/internal/telephony/PhoneFactory;->sCommandsInterface:Lcom/android/internal/telephony/CommandsInterface;
49020 :try_end_150
49021 .catchall {:try_start_ed .. :try_end_150} :catchall_1f
49022 - .catch Ljava/lang/Exception; {:try_start_ed .. :try_end_150} :catch_1c3
49023 + .catch Ljava/lang/Exception; {:try_start_ed .. :try_end_150} :catch_1c5
49025 :try_start_150
49026 invoke-static {v11}, Lcom/android/internal/telephony/PhoneFactory;->getPhoneType(I)I
49027 @@ -591,7 +591,7 @@
49029 move/from16 v0, v16
49031 - if-ne v12, v0, :cond_1d7
49032 + if-ne v12, v0, :cond_1d9
49034 const-string v16, "PHONE"
49036 @@ -603,9 +603,9 @@
49038 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
49040 - new-instance v16, Lcom/android/internal/telephony/PhoneProxy;
49041 + new-instance v16, Landroid/privacy/surrogate/PrivacyPhoneProxy;
49043 - new-instance v18, Lcom/android/internal/telephony/gsm/GSMPhone;
49044 + new-instance v18, Landroid/privacy/surrogate/PrivacyGSMPhone;
49046 sget-object v19, Lcom/android/internal/telephony/PhoneFactory;->sCommandsInterface:Lcom/android/internal/telephony/CommandsInterface;
49048 @@ -619,40 +619,42 @@
49050 move-object/from16 v3, v20
49052 - invoke-direct {v0, v1, v2, v3}, Lcom/android/internal/telephony/gsm/GSMPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
49053 + invoke-direct {v0, v1, v2, v3}, Landroid/privacy/surrogate/PrivacyGSMPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
49055 move-object/from16 v0, v16
49057 move-object/from16 v1, v18
49059 - invoke-direct {v0, v1}, Lcom/android/internal/telephony/PhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;)V
49060 + move-object/from16 v2, p0
49062 + invoke-direct {v0, v1, v2}, Landroid/privacy/surrogate/PrivacyPhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;Landroid/content/Context;)V
49064 sput-object v16, Lcom/android/internal/telephony/PhoneFactory;->sProxyPhone:Lcom/android/internal/telephony/Phone;
49066 - :cond_181
49067 - :goto_181
49068 + :cond_183
49069 + :goto_183
49070 const/16 v16, 0x1
49072 sput-boolean v16, Lcom/android/internal/telephony/PhoneFactory;->sMadeDefaults:Z
49074 - :cond_185
49075 + :cond_187
49076 monitor-exit v17
49078 return-void
49080 - :catch_187
49081 + :catch_189
49082 move-exception v8
49084 const/4 v9, 0x1
49086 goto/16 :goto_31
49088 - :cond_18b
49089 + :cond_18d
49090 const/16 v16, 0x3
49092 move/from16 v0, v16
49094 - if-le v14, v0, :cond_19d
49095 + if-le v14, v0, :cond_19f
49097 new-instance v16, Ljava/lang/RuntimeException;
49099 @@ -665,29 +667,29 @@
49100 invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
49102 throw v16
49103 - :try_end_19d
49104 - .catchall {:try_start_150 .. :try_end_19d} :catchall_1f
49105 + :try_end_19f
49106 + .catchall {:try_start_150 .. :try_end_19f} :catchall_1f
49108 - :cond_19d
49109 + :cond_19f
49110 const-wide/16 v18, 0x7d0
49112 - :try_start_19f
49113 + :try_start_1a1
49114 invoke-static/range {v18 .. v19}, Ljava/lang/Thread;->sleep(J)V
49115 - :try_end_1a2
49116 - .catchall {:try_start_19f .. :try_end_1a2} :catchall_1f
49117 - .catch Ljava/lang/InterruptedException; {:try_start_19f .. :try_end_1a2} :catch_1a4
49118 + :try_end_1a4
49119 + .catchall {:try_start_1a1 .. :try_end_1a4} :catchall_1f
49120 + .catch Ljava/lang/InterruptedException; {:try_start_1a1 .. :try_end_1a4} :catch_1a6
49122 goto/16 :goto_23
49124 - :catch_1a4
49125 + :catch_1a6
49126 move-exception v16
49128 goto/16 :goto_23
49130 - :pswitch_1a7
49131 + :pswitch_1a9
49132 const/4 v4, 0x1
49134 - :try_start_1a8
49135 + :try_start_1aa
49136 const-string v16, "PHONE"
49138 const-string v18, "lteOnCdma is 0 use SUBSCRIPTION_FROM_NV"
49139 @@ -700,7 +702,7 @@
49141 goto/16 :goto_a4
49143 - :pswitch_1b5
49144 + :pswitch_1b7
49145 const/4 v4, 0x0
49147 const-string v16, "PHONE"
49148 @@ -715,7 +717,7 @@
49150 goto/16 :goto_a4
49152 - :catch_1c3
49153 + :catch_1c5
49154 move-exception v7
49156 const-string v16, "PHONE"
49157 @@ -736,18 +738,18 @@
49159 throw v16
49161 - :cond_1d7
49162 + :cond_1d9
49163 const/16 v16, 0x2
49165 move/from16 v0, v16
49167 - if-ne v12, v0, :cond_181
49168 + if-ne v12, v0, :cond_183
49170 invoke-static {}, Lcom/android/internal/telephony/BaseCommands;->getLteOnCdmaModeStatic()I
49172 move-result v16
49174 - packed-switch v16, :pswitch_data_23e
49175 + packed-switch v16, :pswitch_data_244
49177 const-string v16, "PHONE"
49179 @@ -759,9 +761,9 @@
49181 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
49183 - new-instance v16, Lcom/android/internal/telephony/PhoneProxy;
49184 + new-instance v16, Landroid/privacy/surrogate/PrivacyPhoneProxy;
49186 - new-instance v18, Lcom/android/internal/telephony/cdma/CDMAPhone;
49187 + new-instance v18, Landroid/privacy/surrogate/PrivacyCDMAPhone;
49189 sget-object v19, Lcom/android/internal/telephony/PhoneFactory;->sCommandsInterface:Lcom/android/internal/telephony/CommandsInterface;
49191 @@ -775,19 +777,21 @@
49193 move-object/from16 v3, v20
49195 - invoke-direct {v0, v1, v2, v3}, Lcom/android/internal/telephony/cdma/CDMAPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
49196 + invoke-direct {v0, v1, v2, v3}, Landroid/privacy/surrogate/PrivacyCDMAPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
49198 move-object/from16 v0, v16
49200 move-object/from16 v1, v18
49202 - invoke-direct {v0, v1}, Lcom/android/internal/telephony/PhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;)V
49203 + move-object/from16 v2, p0
49205 + invoke-direct {v0, v1, v2}, Landroid/privacy/surrogate/PrivacyPhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;Landroid/content/Context;)V
49207 sput-object v16, Lcom/android/internal/telephony/PhoneFactory;->sProxyPhone:Lcom/android/internal/telephony/Phone;
49209 - goto/16 :goto_181
49210 + goto/16 :goto_183
49212 - :pswitch_20d
49213 + :pswitch_211
49214 const-string v16, "PHONE"
49216 const-string v18, "Creating CDMALTEPhone"
49217 @@ -798,9 +802,9 @@
49219 invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
49221 - new-instance v16, Lcom/android/internal/telephony/PhoneProxy;
49222 + new-instance v16, Landroid/privacy/surrogate/PrivacyPhoneProxy;
49224 - new-instance v18, Lcom/android/internal/telephony/cdma/CDMALTEPhone;
49225 + new-instance v18, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;
49227 sget-object v19, Lcom/android/internal/telephony/PhoneFactory;->sCommandsInterface:Lcom/android/internal/telephony/CommandsInterface;
49229 @@ -814,29 +818,31 @@
49231 move-object/from16 v3, v20
49233 - invoke-direct {v0, v1, v2, v3}, Lcom/android/internal/telephony/cdma/CDMALTEPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
49234 + invoke-direct {v0, v1, v2, v3}, Landroid/privacy/surrogate/PrivacyCDMALTEPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;)V
49236 move-object/from16 v0, v16
49238 move-object/from16 v1, v18
49240 - invoke-direct {v0, v1}, Lcom/android/internal/telephony/PhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;)V
49241 + move-object/from16 v2, p0
49243 + invoke-direct {v0, v1, v2}, Landroid/privacy/surrogate/PrivacyPhoneProxy;-><init>(Lcom/android/internal/telephony/Phone;Landroid/content/Context;)V
49245 sput-object v16, Lcom/android/internal/telephony/PhoneFactory;->sProxyPhone:Lcom/android/internal/telephony/Phone;
49246 - :try_end_234
49247 - .catchall {:try_start_1a8 .. :try_end_234} :catchall_1f
49248 + :try_end_23a
49249 + .catchall {:try_start_1aa .. :try_end_23a} :catchall_1f
49251 - goto/16 :goto_181
49252 + goto/16 :goto_183
49254 - :pswitch_data_236
49255 + :pswitch_data_23c
49256 .packed-switch 0x0
49257 - :pswitch_1a7
49258 - :pswitch_1b5
49259 + :pswitch_1a9
49260 + :pswitch_1b7
49261 .end packed-switch
49263 - :pswitch_data_23e
49264 + :pswitch_data_244
49265 .packed-switch 0x1
49266 - :pswitch_20d
49267 + :pswitch_211
49268 .end packed-switch
49269 .end method
49271 diff -Npru stock-framework/smali/com/android/internal/telephony/sip/SipPhoneFactory.smali ext-framework/smali/com/android/internal/telephony/sip/SipPhoneFactory.smali
49272 --- stock-framework/smali/com/android/internal/telephony/sip/SipPhoneFactory.smali 2012-11-08 09:12:18.826952216 -0600
49273 +++ ext-framework/smali/com/android/internal/telephony/sip/SipPhoneFactory.smali 2012-11-08 09:11:58.358850717 -0600
49274 @@ -24,9 +24,9 @@
49276 move-result-object v1
49278 - new-instance v2, Lcom/android/internal/telephony/sip/SipPhone;
49279 + new-instance v2, Landroid/privacy/surrogate/PrivacySipPhone;
49281 - invoke-direct {v2, p1, p2, v1}, Lcom/android/internal/telephony/sip/SipPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Landroid/net/sip/SipProfile;)V
49282 + invoke-direct {v2, p1, p2, v1}, Landroid/privacy/surrogate/PrivacySipPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Landroid/net/sip/SipProfile;)V
49283 :try_end_e
49284 .catch Ljava/text/ParseException; {:try_start_0 .. :try_end_e} :catch_f
49286 diff -Npru stock-framework/smali/com/android/internal/telephony/sip/SipPhone.smali ext-framework/smali/com/android/internal/telephony/sip/SipPhone.smali
49287 --- stock-framework/smali/com/android/internal/telephony/sip/SipPhone.smali 2012-11-08 09:12:18.826952216 -0600
49288 +++ ext-framework/smali/com/android/internal/telephony/sip/SipPhone.smali 2012-11-08 09:11:56.690842439 -0600
49289 @@ -39,7 +39,7 @@
49292 # direct methods
49293 -.method constructor <init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Landroid/net/sip/SipProfile;)V
49294 +.method public constructor <init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Landroid/net/sip/SipProfile;)V
49295 .registers 8
49297 const/4 v3, 0x0
49298 diff -Npru stock-framework/smali/com/android/internal/telephony/SMSDispatcher.smali ext-framework/smali/com/android/internal/telephony/SMSDispatcher.smali
49299 --- stock-framework/smali/com/android/internal/telephony/SMSDispatcher.smali 2012-11-08 09:12:18.602951102 -0600
49300 +++ ext-framework/smali/com/android/internal/telephony/SMSDispatcher.smali 2012-11-08 09:11:58.142849648 -0600
49301 @@ -13,6 +13,10 @@
49304 # static fields
49305 +.field protected static final ACCESS_TYPE_ICC:I = 0x1
49307 +.field protected static final ACCESS_TYPE_SMS_MMS:I = 0x0
49309 .field private static final DESTINATION_PORT_COLUMN:I = 0x2
49311 .field protected static final EVENT_NEW_SMS:I = 0x1
49312 @@ -37,6 +41,8 @@
49314 .field private static final PDU_SEQUENCE_PORT_PROJECTION:[Ljava/lang/String; = null
49316 +.field protected static final P_TAG:Ljava/lang/String; = "PrivacySMSDispatcher"
49318 .field public static final RECEIVE_EMERGENCY_BROADCAST_PERMISSION:Ljava/lang/String; = "android.permission.RECEIVE_EMERGENCY_BROADCAST"
49320 .field public static final RECEIVE_SMS_PERMISSION:Ljava/lang/String; = "android.permission.RECEIVE_SMS"
49321 @@ -102,6 +108,8 @@
49323 .field protected final mWapPush:Lcom/android/internal/telephony/WapPushOverSms;
49325 +.field protected pSetMan:Landroid/privacy/PrivacySettingsManager;
49328 # direct methods
49329 .method static constructor <clinit>()V
49330 @@ -165,7 +173,7 @@
49331 .end method
49333 .method protected constructor <init>(Lcom/android/internal/telephony/PhoneBase;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/SmsUsageMonitor;)V
49334 - .registers 8
49335 + .registers 9
49337 const/4 v2, 0x0
49339 @@ -235,6 +243,27 @@
49341 invoke-direct {p0}, Lcom/android/internal/telephony/SMSDispatcher;->createWakelock()V
49343 + iget-object v0, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49345 + if-nez v0, :cond_5c
49347 + new-instance v0, Landroid/privacy/PrivacySettingsManager;
49349 + const/4 v3, 0x0
49351 + const-string/jumbo v4, "privacy"
49353 + invoke-static {v4}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
49355 + move-result-object v4
49357 + invoke-static {v4}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
49359 + move-result-object v4
49361 + invoke-direct {v0, v3, v4}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
49363 + :cond_5c
49364 iget-object v0, p0, Lcom/android/internal/telephony/SMSDispatcher;->mContext:Landroid/content/Context;
49366 invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
49367 @@ -257,11 +286,11 @@
49369 move-result v0
49371 - if-nez v0, :cond_b2
49372 + if-nez v0, :cond_c7
49374 move v0, v1
49376 - :goto_62
49377 + :goto_77
49378 iput-boolean v0, p0, Lcom/android/internal/telephony/SMSDispatcher;->mSmsReceiveDisabled:Z
49380 const-string/jumbo v0, "telephony.sms.send"
49381 @@ -272,9 +301,9 @@
49383 move-result v0
49385 - if-nez v0, :cond_b4
49386 + if-nez v0, :cond_c9
49388 - :goto_6f
49389 + :goto_84
49390 iput-boolean v1, p0, Lcom/android/internal/telephony/SMSDispatcher;->mSmsSendDisabled:Z
49392 const-string v0, "SMS"
49393 @@ -341,15 +370,15 @@
49395 return-void
49397 - :cond_b2
49398 + :cond_c7
49399 move v0, v2
49401 - goto :goto_62
49402 + goto :goto_77
49404 - :cond_b4
49405 + :cond_c9
49406 move v1, v2
49408 - goto :goto_6f
49409 + goto :goto_84
49410 .end method
49412 .method private createWakelock()V
49413 @@ -989,6 +1018,26 @@
49414 .method protected abstract getFormat()Ljava/lang/String;
49415 .end method
49417 +.method protected getPackageName()[Ljava/lang/String;
49418 + .registers 4
49420 + iget-object v2, p0, Lcom/android/internal/telephony/SMSDispatcher;->mContext:Landroid/content/Context;
49422 + invoke-virtual {v2}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
49424 + move-result-object v1
49426 + invoke-static {}, Landroid/os/Binder;->getCallingUid()I
49428 + move-result v2
49430 + invoke-virtual {v1, v2}, Landroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
49432 + move-result-object v0
49434 + return-object v0
49435 +.end method
49437 .method public handleMessage(Landroid/os/Message;)V
49438 .registers 12
49440 @@ -1526,6 +1575,348 @@
49441 goto/16 :goto_3e
49442 .end method
49444 +.method protected isAllowed([Ljava/lang/String;I)Z
49445 + .registers 12
49447 + const/4 v8, -0x1
49449 + const/4 v4, 0x1
49451 + const/4 v3, 0x0
49453 + packed-switch p2, :pswitch_data_e8
49455 + const/4 v5, 0x0
49457 + :try_start_7
49458 + aget-object v5, p1, v5
49460 + const/4 v6, 0x0
49462 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49464 + move v3, v4
49466 + :goto_e
49467 + return v3
49469 + :pswitch_f
49470 + const/4 v2, 0x0
49472 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49474 + if-nez v5, :cond_27
49476 + new-instance v5, Landroid/privacy/PrivacySettingsManager;
49478 + const/4 v6, 0x0
49480 + const-string/jumbo v7, "privacy"
49482 + invoke-static {v7}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
49484 + move-result-object v7
49486 + invoke-static {v7}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
49488 + move-result-object v7
49490 + invoke-direct {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
49492 + iput-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49494 + :cond_27
49495 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49497 + if-eqz v5, :cond_7f
49499 + if-eqz p1, :cond_7f
49501 + const/4 v1, 0x0
49503 + :goto_2e
49504 + array-length v5, p1
49506 + if-ge v1, v5, :cond_76
49508 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49510 + aget-object v6, p1, v1
49512 + const/4 v7, -0x1
49514 + invoke-virtual {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
49516 + move-result-object v2
49518 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49520 + if-eqz v5, :cond_72
49522 + if-eqz v2, :cond_72
49524 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getSmsSendSetting()B
49526 + move-result v5
49528 + if-eqz v5, :cond_72
49530 + aget-object v5, p1, v1
49532 + const/4 v6, 0x1
49534 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49535 + :try_end_4c
49536 + .catch Ljava/lang/Exception; {:try_start_7 .. :try_end_4c} :catch_4d
49538 + goto :goto_e
49540 + :catch_4d
49541 + move-exception v0
49543 + const-string v5, "PrivacySMSDispatcher"
49545 + const-string v6, "Got exception while checking for sms or ICC acess permission"
49547 + invoke-static {v5, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
49549 + invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
49551 + if-eqz p1, :cond_70
49553 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49555 + if-eqz v5, :cond_70
49557 + array-length v5, p1
49559 + if-lez v5, :cond_70
49561 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49563 + aget-object v6, p1, v3
49565 + invoke-virtual {v5, v6, v8}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
49567 + move-result-object v2
49569 + if-eqz v2, :cond_70
49571 + aget-object v5, p1, v3
49573 + invoke-virtual {p0, p2, v5, v3}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49575 + :cond_70
49576 + move v3, v4
49578 + goto :goto_e
49580 + :cond_72
49581 + const/4 v2, 0x0
49583 + add-int/lit8 v1, v1, 0x1
49585 + goto :goto_2e
49587 + :cond_76
49588 + const/4 v5, 0x0
49590 + :try_start_77
49591 + aget-object v5, p1, v5
49593 + const/4 v6, 0x0
49595 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49597 + move v3, v4
49599 + goto :goto_e
49601 + :cond_7f
49602 + if-eqz p1, :cond_8b
49604 + array-length v5, p1
49606 + if-lez v5, :cond_8b
49608 + const/4 v5, 0x0
49610 + aget-object v5, p1, v5
49612 + const/4 v6, 0x0
49614 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49616 + :cond_8b
49617 + move v3, v4
49619 + goto :goto_e
49621 + :pswitch_8d
49622 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49624 + if-nez v5, :cond_a4
49626 + new-instance v5, Landroid/privacy/PrivacySettingsManager;
49628 + const/4 v6, 0x0
49630 + const-string/jumbo v7, "privacy"
49632 + invoke-static {v7}, Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
49634 + move-result-object v7
49636 + invoke-static {v7}, Landroid/privacy/IPrivacySettingsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/privacy/IPrivacySettingsManager;
49638 + move-result-object v7
49640 + invoke-direct {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;-><init>(Landroid/content/Context;Landroid/privacy/IPrivacySettingsManager;)V
49642 + iput-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49644 + :cond_a4
49645 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49647 + if-eqz v5, :cond_d9
49649 + if-eqz p1, :cond_d9
49651 + const/4 v1, 0x0
49653 + :goto_ab
49654 + array-length v5, p1
49656 + if-ge v1, v5, :cond_cf
49658 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49660 + aget-object v6, p1, v1
49662 + const/4 v7, -0x1
49664 + invoke-virtual {v5, v6, v7}, Landroid/privacy/PrivacySettingsManager;->getSettings(Ljava/lang/String;I)Landroid/privacy/PrivacySettings;
49666 + move-result-object v2
49668 + iget-object v5, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49670 + if-eqz v5, :cond_cb
49672 + if-eqz v2, :cond_cb
49674 + invoke-virtual {v2}, Landroid/privacy/PrivacySettings;->getIccAccessSetting()B
49676 + move-result v5
49678 + if-eqz v5, :cond_cb
49680 + aget-object v5, p1, v1
49682 + const/4 v6, 0x1
49684 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49686 + goto/16 :goto_e
49688 + :cond_cb
49689 + const/4 v2, 0x0
49691 + add-int/lit8 v1, v1, 0x1
49693 + goto :goto_ab
49695 + :cond_cf
49696 + const/4 v5, 0x0
49698 + aget-object v5, p1, v5
49700 + const/4 v6, 0x0
49702 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49704 + move v3, v4
49706 + goto/16 :goto_e
49708 + :cond_d9
49709 + if-eqz p1, :cond_e5
49711 + array-length v5, p1
49713 + if-lez v5, :cond_e5
49715 + const/4 v5, 0x0
49717 + aget-object v5, p1, v5
49719 + const/4 v6, 0x0
49721 + invoke-virtual {p0, p2, v5, v6}, Lcom/android/internal/telephony/SMSDispatcher;->notify(ILjava/lang/String;B)V
49722 + :try_end_e5
49723 + .catch Ljava/lang/Exception; {:try_start_77 .. :try_end_e5} :catch_4d
49725 + :cond_e5
49726 + move v3, v4
49728 + goto/16 :goto_e
49730 + :pswitch_data_e8
49731 + .packed-switch 0x0
49732 + :pswitch_f
49733 + :pswitch_8d
49734 + .end packed-switch
49735 +.end method
49737 +.method protected notify(ILjava/lang/String;B)V
49738 + .registers 11
49740 + const/4 v2, 0x0
49742 + const/4 v5, 0x0
49744 + packed-switch p1, :pswitch_data_1c
49746 + :goto_5
49747 + return-void
49749 + :pswitch_6
49750 + iget-object v0, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49752 + const-string v4, "SmsSend"
49754 + move-object v1, p2
49756 + move v3, p3
49758 + move-object v6, v5
49760 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
49762 + goto :goto_5
49764 + :pswitch_11
49765 + iget-object v0, p0, Lcom/android/internal/telephony/SMSDispatcher;->pSetMan:Landroid/privacy/PrivacySettingsManager;
49767 + const-string v4, "iccAccess"
49769 + move-object v1, p2
49771 + move v3, p3
49773 + move-object v6, v5
49775 + invoke-virtual/range {v0 .. v6}, Landroid/privacy/PrivacySettingsManager;->notification(Ljava/lang/String;IBLjava/lang/String;Ljava/lang/String;Landroid/privacy/PrivacySettings;)V
49777 + goto :goto_5
49779 + :pswitch_data_1c
49780 + .packed-switch 0x0
49781 + :pswitch_6
49782 + :pswitch_11
49783 + .end packed-switch
49784 +.end method
49786 .method protected processMessagePart([BLjava/lang/String;IIIJIZ)I
49787 .registers 34
49789 @@ -2341,7 +2732,7 @@
49790 :try_start_7
49791 invoke-virtual {p3, v2}, Landroid/app/PendingIntent;->send(I)V
49792 :try_end_a
49793 - .catch Landroid/app/PendingIntent$CanceledException; {:try_start_7 .. :try_end_a} :catch_8e
49794 + .catch Landroid/app/PendingIntent$CanceledException; {:try_start_7 .. :try_end_a} :catch_ac
49796 :cond_a
49797 :goto_a
49798 @@ -2375,6 +2766,41 @@
49799 goto :goto_11
49801 :cond_1d
49802 + invoke-virtual {p0}, Lcom/android/internal/telephony/SMSDispatcher;->getPackageName()[Ljava/lang/String;
49804 + move-result-object v2
49806 + const/4 v3, 0x0
49808 + invoke-virtual {p0, v2, v3}, Lcom/android/internal/telephony/SMSDispatcher;->isAllowed([Ljava/lang/String;I)Z
49810 + move-result v2
49812 + if-nez v2, :cond_38
49814 + if-eqz p3, :cond_11
49816 + const/4 v2, 0x1
49818 + :try_start_2b
49819 + invoke-virtual {p3, v2}, Landroid/app/PendingIntent;->send(I)V
49821 + const-string v2, "SMS"
49823 + const-string v3, "fake also delivery state to radio off!"
49825 + invoke-static {v2, v3}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
49826 + :try_end_35
49827 + .catch Landroid/app/PendingIntent$CanceledException; {:try_start_2b .. :try_end_35} :catch_36
49829 + goto :goto_11
49831 + :catch_36
49832 + move-exception v2
49834 + goto :goto_11
49836 + :cond_38
49837 new-instance v1, Ljava/util/HashMap;
49839 invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
49840 @@ -2401,13 +2827,13 @@
49842 move-result-object v7
49844 - if-eqz v7, :cond_41
49845 + if-eqz v7, :cond_5c
49847 array-length v2, v7
49849 - if-nez v2, :cond_58
49850 + if-nez v2, :cond_73
49852 - :cond_41
49853 + :cond_5c
49854 const-string v2, "SMS"
49856 const-string v3, "Can\'t get calling app package name: refusing to send SMS"
49857 @@ -2418,14 +2844,14 @@
49859 const/4 v2, 0x1
49861 - :try_start_4b
49862 + :try_start_66
49863 invoke-virtual {p3, v2}, Landroid/app/PendingIntent;->send(I)V
49864 - :try_end_4e
49865 - .catch Landroid/app/PendingIntent$CanceledException; {:try_start_4b .. :try_end_4e} :catch_4f
49866 + :try_end_69
49867 + .catch Landroid/app/PendingIntent$CanceledException; {:try_start_66 .. :try_end_69} :catch_6a
49869 goto :goto_11
49871 - :catch_4f
49872 + :catch_6a
49873 move-exception v6
49875 const-string v2, "SMS"
49876 @@ -2436,7 +2862,7 @@
49878 goto :goto_11
49880 - :cond_58
49881 + :cond_73
49882 const/4 v2, 0x0
49884 aget-object v4, v7, v2
49885 @@ -2461,7 +2887,7 @@
49887 move-result v2
49889 - if-nez v2, :cond_78
49890 + if-nez v2, :cond_94
49892 const/4 v2, 0x4
49894 @@ -2471,9 +2897,9 @@
49896 invoke-virtual {p0, v2}, Lcom/android/internal/telephony/SMSDispatcher;->sendMessage(Landroid/os/Message;)Z
49898 - goto :goto_11
49899 + goto/16 :goto_11
49901 - :cond_78
49902 + :cond_94
49903 iget-object v2, p0, Lcom/android/internal/telephony/SMSDispatcher;->mPhone:Lcom/android/internal/telephony/Phone;
49905 invoke-interface {v2}, Lcom/android/internal/telephony/Phone;->getServiceState()Landroid/telephony/ServiceState;
49906 @@ -2484,20 +2910,20 @@
49908 move-result v9
49910 - if-eqz v9, :cond_8a
49911 + if-eqz v9, :cond_a7
49913 iget-object v2, v0, Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mSentIntent:Landroid/app/PendingIntent;
49915 invoke-static {v9, v2}, Lcom/android/internal/telephony/SMSDispatcher;->handleNotInService(ILandroid/app/PendingIntent;)V
49917 - goto :goto_11
49918 + goto/16 :goto_11
49920 - :cond_8a
49921 + :cond_a7
49922 invoke-virtual {p0, v0}, Lcom/android/internal/telephony/SMSDispatcher;->sendSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
49924 - goto :goto_11
49925 + goto/16 :goto_11
49927 - :catch_8e
49928 + :catch_ac
49929 move-exception v2
49931 goto/16 :goto_a